Python:输入验证不起作用

时间:2014-09-29 15:10:15

标签: python validation if-statement

我有这段代码:

#counting the number down to zero.
x = int(x)
while x>=0:
    print x
    x -= 1

#if the user asks for a number below zero print this:
if x<0:
    print "You cant countdown number below zero."

#if the user asks for something else than a number print this:
else:
    print "only insert numbers."

代码本身非常基本,只是将随机数计算到零。 唯一的问题是我的else块没有工作,当有人写一个单词/字母而不是一个数字时,我做了else块。任何人都可以解决这个问题吗? :)

编辑: 我得到的错误是:

ValueError: invalid literal for int() with base 10: 'ha'

1 个答案:

答案 0 :(得分:2)

您应该使用不同的方法。首先验证输入:

try:
    x = int(x)
except ValueError:
    print "only insert numbers"
    #return from function, or exit the program, or whatever you want

while x >= 0:
    print x
    x -= 1

if x < 0:
    print "You cant countdown number below zero."