我寫了一個程序來計算一個數字的階乘完美的工作,但當測試我輸入一個浮點數時崩潰。 我的目標是接受一個浮點數,但沒有計算。由於該程序將接受但返回「錯誤輸入,只有整數被接受」。 我已經嘗試了多個聲明,但它只適用於我在聲明中輸入的數字。所以我想也許應該建立一些東西,也許可以通過命名一些花車並做某種減法。但我迷路了。 這裏是程序我至今不包括浮動聲明:我怎樣才能阻止我的python程序崩潰
def main():
# take input from the user
num = int(input("Enter a number: "))
factorial = 1
if num > 100:
print("Bad entry. It should be an integer less than or equal to 100!")
print("Please try again: ")
elif num == 0:
print("The factorial of 0 is 1")
elif num < 0:
print("Bad entry. It should be an integer superior than or equal to 0!")
print("Please try again: ")
else:
for i in range(1,num + 1):
factorial = factorial*i
print("The factorial of",num,"is",factorial)
main()
修復身份請 – ForceBru 2015-02-06 16:40:54
請參閱[這篇文章](http://stackoverflow.com/questions/4541155/check-if-a-number-is-int-or-float)如何檢查輸入的數字是積分。 – RedX 2015-02-06 16:42:23
請包括你試圖解決浮點問題,以及它如何「崩潰」。你有沒有捕獲異常? – 2015-02-06 16:42:54