输入'enter'的编码错误信息

时间:2013-01-08 16:04:36

标签: python null

假设您被要求提供输入,例如您的年龄,但是您不小心将年龄放入,而是意外地点击“输入”。但是,该程序忽略了击键并进入下一步。您的年龄未输入,但被视为空/空值。

您如何编码来解决此问题?

谢谢

2 个答案:

答案 0 :(得分: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: ")

答案 1 :(得分:1)

使用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