Python如果优先级并停止脚本

时间:2014-10-12 15:41:22

标签: python-3.x

leftmost=int(input('Enter leftmost digit: ',))
if leftmost not in [0, 1]:
    print("You've entered a wrong value of", leftmost)
else:
    next1=int(input('Enter the next digit: ',))
if next1 not in [0, 1]:
    print("You've entered a wrong value of", next1)
else:
    next2=int(input('Enter the next digit: ',))
if next2 not in [0, 1]:
    print("Youve entered the wrong value of", next2)
else:
    next3=int(input('Enter the next digit: ',))
if next3 not in [0, 1]:
    print("Youve entered the wrong value of", next3)
else:
    print('Values entered', leftmost, next1, next2, next3)

现在,如果我输入1或0,但是如果我输入5,则会出现错误,表示未定义下一个变量。由于某种原因,如果不满足条件,python不会停止,是否有一个手动命令停止像返回,退出或类似的东西?这是否有效取决于从侧面推出多少钱。我是一个绝对的初学者,所以尽可能具有描述性。谢谢。

1 个答案:

答案 0 :(得分:0)

我怀疑你真正想要的是:

def enter_binary(prompt):
    while True:
        try:
            i = int(input(prompt))
        except ValueError:
            print("Please enter an integer.")
        else:
            if i not in (0, 1):
                print("You've entered the wrong value of {0}.".format(i))
            else:
                return i

digits = []
digits.append(enter_binary('Enter leftmost digit: '))
for _ in range(3):
    digits.append(enter_binary('Enter the next digit: '))

print('Values entered: {0}'.format(" ".join(map(str, digits))))

请注意重复次数的显着减少和错误处理的改进。