【发布时间】:2017-10-19 12:47:14
【问题描述】:
我希望使用数组计数和 for 语句在循环中检查输入值是否在 [0, 2] 范围内,当用户尝试输入错误值时打印“您超出了最大尝试次数” 3次以上,代码为:
a=int(raw_input("a "))
count=[1,2,3]
attemp=1
for i in count:
while (a<0 or a>2):
print ("WRONG")
a=int(raw_input("a"))
if (a>=0 and a<= 2):
i=4
else:
i+=1
attempt=i
if(attempt<=3):
print ("You needed %i" %attempt)
else:
print ("You exceeded the maximum amount of tries")
我在执行代码时遇到了一个逻辑问题,当最大尝试次数应该是3时,我可以输入无限数量的无效值,所以它不会达到print ("You exceeded the maximum amount of tries")
【问题讨论】:
-
您在一些地方有拼写错误和缩进问题。在这实际的代码?
-
你的内循环基本上违背了外循环的目的。为什么不使用一个 single 循环来记录尝试次数并检查有效输入。如果输入有效或已超过最大尝试次数,则退出循环。
-
@Carcigenicate 是的,我正在从头开始学习 python,所以我没有注意到一些拼写错误和缩进错误