• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

is_positive_number 함수의 소수 판별

20.08.17 16:18 작성 조회수 151

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()


답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!