gpt4 book ai didi

python - 为什么我的输入错误陷阱不能按我预期的方式工作?

转载 作者:行者123 更新时间:2023-12-03 08:47:16 25 4
gpt4 key购买 nike

为什么此错误陷阱无法正常工作?我想让它出现在某个地方,如果有人键入一个单词或一个大于1的数字,则会出现错误陷阱并重复该问题,直到您键入正确的相应输入为止。有什么建议??

valid = 0
while valid ==0:
x = input('Enter 4 digits for X(0 or 1): ')
while len(x)!=4:
print('Try Again. Remember 4 digits and only use binary 1 or 0')
x = input('Enter 4 digits for X: ')
valid = 1
for i in x:
if i !='1' and i !='0':
print('Try Again. Remember 4 digits and only use binary 1 or 0')
valid=0



valid = 0
while valid ==0:
y = input('Enter 4 digits for Y(0 or 1): ')
while len(y)!=4:
print('Try Again. Remember 4 digits and only use binary 1 or 0')
y = input('Enter 4 digits for y: ')
valid = 1
for i in y:
if i !='1' and i !='0':
print('Try Again. Remember 4 digits and only use binary 1 or 0')
valid=0

最佳答案

您应该使用if语句而不是while循环来测试输入的长度。您还可以使用all(map('01'.__contains__, value))来测试字符串是否仅由'0'或'1'字符组成。您可以使xy为变量名称的元组,并通过相同的代码进行迭代以使用相同的逻辑来询问其值,并将该值分配为全局变量或dict的值。

for variable in 'x', 'y':
while True:
value = input('Enter 4 digits for %s (0 or 1): ' % variable)
if len(value) == 4 and all(map('01'.__contains__, value)):
globals()[variable] = value
break
print('Try Again. Remember 4 digits and only use binary 1 or 0')
print(x, y)

关于python - 为什么我的输入错误陷阱不能按我预期的方式工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51201353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com