我有一個學校的任務(好吧,這是額外的功勞,是確切的)我需要使用函數來檢查輸入的值是否是整數。 這是功能我的老師希望我們用下手:Python enterInteger函數 - 檢查有效整數
def enterInteger():
enteredValue = input(‘Please enter an Integer:’
return int(enteredValue)
- 沒有參數
- 將返回一個有效的整數
- 將循環,直到輸入有效的整數
- 提供關於爲什麼輸入錯誤的錯誤消息
- 無論輸入什麼,它都不會崩潰
- 如果它進入無限循環,它不工作!
我試着搞亂了一堆不同的代碼,但無濟於事。這是代碼我經歷過最多的運氣(這是超級馬虎,我知道我已經沒有太大的教學編碼的Python 3周左右爲止。):
def enterInteger():
check = 0
enteredValue = input('Please enter an Integer: ')
while check == 0:
if "." in enteredValue:
print("The entered value has a decimal! Not an integer!")
return
elif "\\" in enteredValue:
print("The entered value is a fraction! Not an integer!")
return
elif "/" in enteredValue:
print("The entered value is a fraction! Not an integer!")
return
else:
return int(enteredValue)
enteredValue = 0
check = 1
check = enterInteger()
if type(check) is int:
print("The entered value is an integer!")
else:
enterInteger()
當我運行這一點,輸入一個真正的整數,它工作正常,但如果我輸入一個非整數,它不會正確進入循環。如果我輸入一個非整數後跟一個整數,它也不起作用。
任何幫助,我可以得到將非常感謝!
你可能想看看'try';可以使這個既簡單又有效。 –
你爲什麼使用'while'循環?你回到每一個你的分支,所以它只能迭代一次... –