如果变量sizeOfList
小于0,不是整数或大于1000,我想打印出ERROR。这就是我处理这些错误的方法:
if sizeOfList > 1000 or not isinstance(sizeOfList,int) or sizeOfList < 0:
print "ERROR:"
sys.exit()
除了变量等于零之外,它的工作原理非常好。它认为这是一个错误,当我真的只是想要它什么都不打印。我真的很困惑为什么会发生这种情况以及如何解决它。任何帮助将不胜感激!
答案 0 :(得分:0)
但是当它为零&#34;错误:&#34;打印出来,程序退出......这是为什么?
使用以下条件的唯一方法:
sizeOfList > 1000 or not isinstance(sizeOfList,int) or sizeOfList < 0
如果你的&#34;零&#34;值实际上是string
。尝试
type(sizeOfList)
在您的代码验证之前。
修改强>
通常,您不想关心变量类型。试着这样写:
if !sizeOfList.isdigit():
print "Not a number!"
sys.exit()
if sizeOfList < 0 or sizeOfList > 1000:
print "Not in range!"
sys.exit()
答案 1 :(得分:0)
我不确定你想要完成什么,但这是一种方式。
>>> def test_list(input):
... tmp = input
... while True:
... if len(input)<=0:
... print "out of range"
... break
... else:
... print tmp.pop()
...
>>> l = [1,2,3,4,5,5,6]
>>> test_list(l)
6
5
5
4
3
2
1
out of range