-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
main()에서 오답
18.05.06 13:00 작성 조회수 92
0
과제의 def main()코드를 수정했고, 결과가 과제에서 예시로 제시된 것과 동일하게 나오는 것 같은데 여전히 main에서 fail 이라고 채점되네요. 채점 시스템 상에서 오답으로 분류되는 문제가 있는게 아닐까 싶기도 한데요. 코드와 결과를 첨부하니 답변 부탁드립니다!
def main(): # ===Modify codes below=============
user_input = 999
while user_input is not 0:
user_input = input("Input a positive number : " )
if is_positive_number(user_input) is True: # 입력값이 양수인가?
result = get_factorial_value(int(user_input)) # True 이면 int로 변환 후 factorial 계산
print(result) # 결과 출력
elif user_input == "0": #입력값이 양수가 아니고 0이라면
user_input = 0 # 프로그램 종료를 위해 입력값을 0으로 지정
else: # 입력값이 양수도 0도 아니면
print("Input again, please") # 다시 입력 하시오.
print("Thank you for using this program")
결과입니다
https://drive.google.com/open?id=19APNKPUj3u8i3OwjxZpiCnaOZQw78JEf
답변을 작성해보세요.
0
Inf_Learn
질문자2018.05.12
원래 제가 작성한 코드도 과제에서 요구하는 바와 틀리지 않는다고 생각합니다만, 두 가지를 고쳤더니 pass 되었습니다. 다른 분들을 위해 적어 놓습니다.
[1]
is_positive_number()를 수정해서, 5, 6, 11과 같은 자연수 뿐 아니라 5.0, 6.000, 11.00과 같은 '소수'도 factorial을 계산하게끔 바꿨습니다. (그런데 이게 채점에서 문제가 되는지는 저도 잘 모르겠습니다.)
[2]
main()의 while 구문에서
elif user_input == "0" 를
elif is_positive_number(user_input) is False and user_input is "0": 으로 고쳤습니다.
답변 1