0
我必須測試用戶輸入是否爲數字。否則,我需要再次詢問輸入。這聽起來很簡單,對吧?但是,檢查下列功能迭代測試Python3中的數字輸入
# Request number from user
def request_number():
number = input("Please, enter the card number you want to check: ")
if number.isnumeric():
return int(number)
elif number.isalpha() or number.isalnum() or number.isdecimal():
request_number()
它工作正常,如果來自用戶的第一輸入實際上是一個數4111111111111111
但是,如果用戶輸入第一字符串,如asbsdl
。該功能正確地再次詢問一個號碼,但即使輸入號碼,也會返回None
。
任何人都可以點亮一下嗎?謝謝。
您忽略遞歸調用返回值。看到重複。 –
但是,你真的不應該在這裏使用遞歸,請參閱[要求用戶輸入,直到他們給出有效的響應](// stackoverflow.com/q/23294658) –
非常好。謝謝。這是相當長一段時間... –