我已經有一段時間寫了一個依賴很多其他函數來返回答案的函數。當我完成它時,它說我錯誤地在某處使用了「*」。我經歷了一切,看不出有什麼問題。我終於發現,這是因爲前面定義的簡單階乘函數,如下所示:Python對int值的錯誤識別
if n == 0:
return 1
elif n < 0 or (type(float)):
print "%s is an invalid input; Positive integer value is required" % (n)
else:
return (n)*fact(n-1)
但是如果我輸入n = 6時,它返回圖6是一個浮點數,因此離開的其餘部分功能,我希望有人能夠回答爲什麼會發生這種情況,以及如何解決這個問題。
非常感謝
'type(float)'返回一個類型,所以它總是對的 –