0
ユーザの入力が数値かどうかをテストする必要があります。それ以外の場合は、もう一度入力を要求する必要があります。シンプルに聞こえるよね?しかし、ユーザーが最初なasbsdl
として文字列を、入力した場合、ユーザからの最初の入力は、実際に数4111111111111111
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()
をご確認ください。この関数は2回目の数値を正しく要求しますが、数値を入力してもNone
を返します。
誰か光を当てることはできますか?ありがとう。
に変更します。再帰呼び出しの戻り値は無視します。重複を参照してください。 –
しかし、本当にあなたはここで再帰を使うべきではありません。[有効な応答が得られるまで入力を求める](// stackoverflow.com/q/23294658) –
優れています。ありがとう。これにかなりの時間がかかっていました... –