Python 阶乘 while 循环
Python Factorial while loop
需要有关此代码的帮助。它第一次计算阶乘罚款,但当它在 while 循环中循环时,它似乎正在存储值并递增它。有什么建议吗?
#Get number and store in variable, also declare and initialize factorial variable
number = int(input("Please enter a nonnegative integer number (or enter 0 to end program): "))
print()
factorial= 1
#Check if number is a negative integer and if it is, prompt for input again or give option to end program
if number <0:
while number !=0 and number <0:
print("You have entered a negative integer. Please try again.")
number = int(input("Please enter a nonnegative integer number (or enter 0 to end program): "))
print()
#Calculate and display factorial of number while input is valid
while number != 0 and number >=1:
#Calculate and display factorial value
while number >= 1:
factorial = factorial * number
number = number -1
print("The factorial for that number is: {}".format(factorial))
print()
#Get the next number
number = int(input("Please enter another nonnegative integer number or enter 0 to end program: "))
print()
#Check if newly entered number is a negative integer and if it is, prompt for input again or give option to end program
if number <0:
while number !=0 and number <0:
print("You have entered a negative integer. Please try again.")
print()
#Prompt again for valid nonnegative integer
number = int(input("Please enter a nonnegative integer number (or enter 0 to end program): "))
print()
您没有在 while 循环运行之间重置阶乘的值。你应该移动行
factorial= 1
待在
之后
#Calculate and display factorial of number while input is valid
while number != 0 and number >=1:
需要有关此代码的帮助。它第一次计算阶乘罚款,但当它在 while 循环中循环时,它似乎正在存储值并递增它。有什么建议吗?
#Get number and store in variable, also declare and initialize factorial variable
number = int(input("Please enter a nonnegative integer number (or enter 0 to end program): "))
print()
factorial= 1
#Check if number is a negative integer and if it is, prompt for input again or give option to end program
if number <0:
while number !=0 and number <0:
print("You have entered a negative integer. Please try again.")
number = int(input("Please enter a nonnegative integer number (or enter 0 to end program): "))
print()
#Calculate and display factorial of number while input is valid
while number != 0 and number >=1:
#Calculate and display factorial value
while number >= 1:
factorial = factorial * number
number = number -1
print("The factorial for that number is: {}".format(factorial))
print()
#Get the next number
number = int(input("Please enter another nonnegative integer number or enter 0 to end program: "))
print()
#Check if newly entered number is a negative integer and if it is, prompt for input again or give option to end program
if number <0:
while number !=0 and number <0:
print("You have entered a negative integer. Please try again.")
print()
#Prompt again for valid nonnegative integer
number = int(input("Please enter a nonnegative integer number (or enter 0 to end program): "))
print()
您没有在 while 循环运行之间重置阶乘的值。你应该移动行
factorial= 1
待在
之后#Calculate and display factorial of number while input is valid
while number != 0 and number >=1: