작성
·
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()
답변