年齢などの入力を求められたときに、年齢を入力する代わりに誤って「Enter」を押したとします。ただし、プログラムはキーストロークを無視して次のステップに進みます。あなたの年齢は入力されていませんが、空/null 値と見なされます。
この問題を解決するためにどのようにコーディングしますか?
ありがとうございました
ループを使用すると、関数を 2 回while
記述する必要はありません。input()
while True:
age = input('>> Age: ')
if age:
break
print('Please enter your age')
入力が整数かどうかを確認し、文字列から整数を取得することもできます。空の文字列age
もValueError
例外を発生させます:
while True:
try:
age = int(input('>> Age: '))
except ValueError:
print('Incorrect input')
continue
else:
break
age = raw_input("Age: ")
while not age: # In Python, empty strings meet this condition. So does [] and {}. :)
print "Error!"
age = raw_input("Age: ")
このためのラッパー関数を作成できます。
def not_empty_input(prompt):
input = raw_input(prompt)
while not input: # In Python, empty strings meet this condition. So does [] and {}. :)
print "Error! No input specified."
input = raw_input(prompt)
return input
それで:
address = not_empty_input("Address: ")
age = not_empty_input("Age: ")