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不会停止,是否有一个手动命令停止像返回,退出或类似的东西?这是否有效取决于从侧面推出多少钱。我是一个绝对的初学者,所以尽可能具有描述性。谢谢。
答案 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))))
请注意重复次数的显着减少和错误处理的改进。