나는 재귀를 학습하고 있으며이 숫자를 하나의 숫자에서 선택한 숫자까지 모두 반환하는 코드를 작성했습니다. 프로그램을 실행할 때 처음 입력 한 숫자에 관계없이 그 값은 항상 "없음"이며, 이는 outputSum 변수의 값이 내 프로그램에서 "없음"인 것처럼 보임을 의미합니다. SUM_OF_NUMBERS의 초기화 된 값을 변경하면이 값이 변경 될 수 있다고 생각했지만, 그렇지 않은 경우 출력으로 '없음'을 여전히 얻었습니다. 아무도이 버그를 일으키는 내 코드에서 부분을 가리킬 수 있습니까? 입력이 0
보다 클 때 당신은 아무것도 반환하지 된 이후Python의 합계로 "None"을 반환하는 재귀 숫자 합산 프로그램
def sumOfNumbers(number):
SUM_OF_NUMBERS = 0
if number > 0:
SUM_OF_NUMBERS = SUM_OF_NUMBERS + number
else:
return SUM_OF_NUMBERS
number = number - 1
sumOfNumbers(number)
def main():
repeat = 'Y'
outputSum = 0
while repeat == 'Y' or repeat == 'y':
print("Welcome to the Sum Of Numbers program!")
number = int(input("\nPlease enter a number to sum up: "))
outputSum = sumOfNumbers(number)
print("\nThe sum of all numbers from 1 to " + str(number) + \
" is " + str(outputSum))
repeat = input("\nWould you like to sum up another number?" \
'\nEnter "Y" for "YES" or "N" for "NO": ')
if repeat == 'N' or repeat == 'n':
print("\nThank you for using the program.")
else:
print("\nSorry, that was not a valid option.")
repeat = input('Please enter "Y" for "YES" or "N" for "NO": ')
main()
가, 감사합니다. 입력이 0보다 클 때 아무것도 반환하지 않고 건너 뛰고 있다는 것을 알지 못했습니다. –