2017-04-24 6 views
0

업데이트 : 나는 루프의 시작 부분에서 계승을 1로 재설정하고 불필요한 코드를 제거하여 팩토리얼을 배제하는 문제를 해결했습니다. 여기에 새 버전이 있습니다.이전 계승을 무시하기 위해 계승을 계산하는 while 루프를 얻으려면 어떻게해야합니까?

more = "yes" 
while more == "yes": 
    n = int(input("Enter a number to get its factorial: ")) 
    if n >= 0: 
     factorial = 1 
     for num in range(1, n+1): 
      factorial *= num 
     print(n,'!=', factorial) 
     more = input("Would you like to get another number's factorial?:") 
    else: 
     print("Factorials are not defined for negative integers.") 
print("Thank You!") 
+0

업데이트 : 문제를 해결하고 코드를 단순화했습니다. – AndroidFan253

답변

1

while 루프가 시작될 때 계승 변수를 1로 재설정해야합니다.

또한 n이 모든 입력에 대해 양수인지 확인하는 것이 좋습니다. 현재는 첫 번째 입력에 대해서만 n이 양수인지 확인해야합니다.

+0

감사합니다 디마! 나는 복리 문제를 해결했지만, 이제는 계승 (factorial)과 같고 또 다른 정수를 요구하는 음의 정수를 표시하는 문제에 직면하고 있습니다. 여기에 내가 가지고있는 것입니다 ... – AndroidFan253

+0

코드는 문제를 파악하는 데 도움이되는 훨씬 더 간단 할 수 있습니다. 처음에는 while 루프 안에 모든 것을 넣고 루프의 시작 부분에서 코드에서 한 번만 번호를 묻는 코드 만 갖습니다. – Dima

+0

Dima에게 문제를 해결했습니다. 너 최고야! – AndroidFan253