[英]Proper usage of 'continue' and 'break' in for loop
我试图编写一个 for 循环,其中有一个“继续”和一个“中断”。 代码如下
b = 0
for a in range(1,20):
if a == 1:
b =1
print b
elif a == 2:
b = 2
print b
elif a == 3:
b = 3
print b
else:
continue
a +=1
print "a = (%d) " % (a)
if a ==10:
print "a = (%d) " % (a)
break
我想做的是循环a
并使用a
作为条件来确定b
的值。 此外,我不希望a
达到 20,因此我添加了另一个条件if a == 10
以提前结束循环。 但是,打印出来的结果并不完全是我想要的:
1
a = (2)
2
a = (3)
3
a = (4)
这意味着
if a ==10:
print "a = (%d) " % (a)
break
完全错过了。 我不知道我写的哪一行是错误的。 谢谢!
这部分代码
if a ==10:
print "a = (%d) " % (a)
break
由于为 continue 语句指定的条件,永远不会执行。 换句话说,您是说当 a 不等于 1、2 或 3 时,循环会返回执行,这意味着它永远不会在 continue 语句之后到达下一行。 所以,当 a 等于 10 时,它会满足 continue 语句的条件并回到循环继续执行。
如果你想在 a 等于 10 时打印出来,你可能不需要 continue 语句。 试试这个代码:
b = 0
for a in range(1,20):
if a == 1:
b =1
print b
elif a == 2:
b = 2
print b
elif a == 3:
b = 3
print b
a +=1
print "a = (%d) " % (a)
if a == 10:
print "a = (%d) " % (a)
你可以通过这个资源http://www.tutorialspoint.com/python/python_loop_control.htm更好地理解 python 的循环结构
您写的不正确的行是 continue 语句。 它的作用是停止当前迭代并带您进入循环的下一次迭代。根据您的问题陈述,不需要 continue 语句。尝试删除 continue 语句,它将运行。 下面是示例代码:
for a in range(1,20):
if a == 1:
b =1
print b
elif a == 2:
b = 2
print b
elif a == 3:
b = 3
print b
else:
a +=1
print "a = (%d) " % (a)
if a ==10:
print "a = (%d) " % (a)
break
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.