인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

오강석님의 프로필 이미지
오강석

작성한 질문수

프로그래밍, 데이터 과학을 위한 파이썬 입문

- Code Assignment : Factorial 계산기 (factorial_calculator)

is_positive_number 함수의 소수 판별

작성

·

198

0

is positive_number 함수에 앞 영상에서 설명한 것과 같이 

if int(integer_str_value) > 0:

            return True

 return False

이런식으로 코드를 작성했는데 이렇게 코드를 작성하면 32.2와 같은 소수점이 포함된 실수의 경우 리턴값이 True가 되지 않나요? 그런데 작성한 코드는 잘 돌아가는데 혹시 뭐 놓친게 있을까요?

def is_positive_number(integer_str_value):
    try:
        # ===Modify codes below=============
        # 시작전 반드시 'pass'를 지울 것

        if int(integer_str_value) > 0:
            return True
        return False

        # ==================================
    except ValueError:
        return False

def get_factorial_value(integer_value):
    factorial_result = 1

     while integer_value > 0:
         factorial_result = integer_value * factorial_result
         integer_value -= 1

    # ==================================
     return factorial_result

def main():
    user_input = 999
    # ===Modify codes below=============
    while user_input != "0":
        user_input = input("Input a positive number : ")
        if user_input == "0":
            print("Thank you for using this program")
        elif is_positive_number(user_input) == True:
            factorial_result = get_factorial_value(int(user_input))
            print(factorial_result)
        else:
            print("Input again, Please")
    # ==================================

if __name__ == "__main__":
    main()


답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
오강석님의 프로필 이미지
오강석

작성한 질문수

질문하기