如何使用try .. except或if ... else来验证用户输入?

时间:2011-04-05 20:16:28

标签: python

我想限制用户输入,以便提供的N服从N >0N < 100

我应该使用if... else还是try... except?你能提供这两种方法的例子吗?

4 个答案:

答案 0 :(得分:9)

我建议组合:)

while True:
    value = raw_input('Value between 0 and 100:')
    try:
       value = int(value)
    except ValueError:
       print 'Valid number, please'
       continue
    if 0 <= value <= 100:
       break
    else:
       print 'Valid range, please: 0-100'

希望它有所帮助。

答案 1 :(得分:5)

如果/ else在这里可能更合适,因为提出的任何异常都是你自己抛出的(并且你仍然需要处理它们)。

答案 2 :(得分:1)

最简单的方法是if / else。

但我可能同时使用if / else和抛出异常的验证器。

答案 3 :(得分:0)

# test value of N
try:
    N = int(N)
except ValueError:
    raise ValueError('N must be integer')
if N < 0 or N > 100:
    NError = ValueError('N must be between 0 and 100, inclusive.')
    raise NError