我有一塊用於數據驗證用戶輸入的代碼,以確保只有數字大於零取,如下:使用INT()與十進制數
while True:
x = raw_input("Please enter a number greater than zero.")
try:
x = int(x)
num = True
except ValueError:
print "Sorry, you entered an invalid input. Please ensure you enter only numbers greater than zero."
if x > 0:
if num == True:
break
elif x <= 0:
print "Sorry, you entered an invalid input for time. Please ensure you enter only positive numbers. \n"
然而,該語句被捕捉十進制數大於比零,我想通過。我應該改變什麼才能防止這種情況發生?
P.S:另外,任何人都可以精確解釋爲什麼它的發生?
我想我是如何做到這一點是改變詮釋爲浮動,只是假設一切都是浮動數據類型?當然,你可以嘗試一個int,拋出,嘗試一個浮點數,拋出 – DTSCode
這是模糊的。請發佈工作代碼,樣本輸入,預期產出和實際結果。 – RobertB
如果用戶輸入「0.5」,結果是什麼? –