下面是一个随机的python循环代码示例:
for j in range(5):
try:
cats = raw_input("Enter age of your five cats")
except ValueError:
print ("Try again")
我在这段代码中遇到的问题是,每当except行被触发时,我的循环就不会完全重置自己。发生的情况是,当我得到一个异常时,异常本身在范围内计为1。。你知道吗
更具体地说:
假设用户没有触发异常,我们得到这5个年龄输入5 4 5 3 2(范围5),但是如果我们触发了异常,那么用户只允许输入4个年龄5 4 5 3,因为出于某种原因,异常计入范围计数。有人知道如何解决这个问题吗?你知道吗
你可以这样做:
这将停留在一只猫,直到你进入一个“适当”的年龄。你知道吗
您会注意到我在您的输入函数调用周围包装了一个
int()
。我想这就是你最终要做的,因为我很确定raw_input()
不会自己抛出ValueError
。你知道吗我还将猫的年龄存储在一个数组中,因为您的代码只会记住最后输入的年龄。你知道吗
您可以通过做一个小小的修改来消除对单独变量的需要(如果您担心这类事情(我倾向于不这样做)):
在
for
循环中保持while
循环,直到获得所需的输入。你知道吗这样,只有在获得有效的catage值时,才能进入外
for
循环的下一次迭代。你知道吗也许。。。你知道吗
相关问题 更多 >
编程相关推荐