-2

年齢などの入力を求められたときに、年齢を入力する代わりに誤って「Enter」を押したとします。ただし、プログラムはキーストロークを無視して次のステップに進みます。あなたの年齢は入力されていませんが、空/null 値と見なされます。

この問題を解決するためにどのようにコーディングしますか?

ありがとうございました

4

2 に答える 2

1

ループを使用すると、関数を 2 回while記述する必要はありません。input()

 while True:
    age = input('>> Age: ')
    if age:
        break
    print('Please enter your age')

入力が整数かどうかを確認し、文字列から整数を取得することもできます。空の文字列ageValueError例外を発生させます:

while True:
    try:
        age = int(input('>> Age: '))
    except ValueError:
        print('Incorrect input')
        continue
    else:
        break
于 2013-01-08T16:15:38.937 に答える
1
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: ")
于 2013-01-08T16:13:12.900 に答える