我正在尝试编写一个接受数字输入的脚本,然后检查以查看
(a) 输入实际上是一个数字,并且 (b) 所讨论的数字小于或等于 17。
我尝试了各种“if”语句都无济于事,现在我正试图围绕“try”语句。这是我迄今为止最好的尝试:
def listlength():
print "How many things (up to 17) do you want in the list?"
global listlong
listlong = raw_input("> ")
try:
listlong = int(listlong)
listlong <= 17
except:
print "Gotta be a number less than 17, chumpy!"
listlength()
liststretcher()
它适用于 try 中的第一个元素:如果它不是数字,我必须再次运行 listlength 函数。但是第二个元素(<=17)被完全忽略了。
我也试过
try:
listlong = int(listlong) and listlong <= 17
...但这仍然只给了我一个功能性的第一个检查,而完全忽略了第二个。
如果我有两个 try 语句,我也会得到相同的结果:
try:
listlong = int(listlong)
except:
print "Gotta be a number, chumpy!"
listlength()
try:
listlong <=17
except:
print "Gotta be less than 17!"
listlength()
liststretcher()
有没有办法尝试:检查两件事,并在通过异常之前要求两者都通过?或者我是否必须进行两次不同的尝试:在继续执行 liststretcher() 命令之前使用相同定义中的语句?
作为对 S.Lott 的回应,如下:我的意图是“try:listlong <=17”将检查“listlong”变量是否小于或等于 17;如果该检查失败,它将移至“除外”;如果它通过了,它将转到下面的 liststretcher()。
阅读迄今为止的答案,我有大约八件事要跟进......