如何从内部if语句退出外部循环

时间:2018-07-25 13:38:53

标签: python

我有一个循环,形式如下。如果p>len(number),我想中断并退出整个while循环。数字是包含一些数字的列表。 当p大于len(number)时,以下代码不会从整个循环中中断。有人可以帮忙实现python吗?

while number[p]<0 :
  if "some condition":
    #do something
    p=p+1
    if p>len(number):
        break;
  else:
    #do something
    p=p+1
    if p>len(number)
        break;

3 个答案:

答案 0 :(得分:1)

请参考以下两个链接:

  1. PEP 3136-标记为中断并继续:https://www.python.org/dev/peps/pep-3136/
  2. 拒绝PEP 3136-https://mail.python.org/pipermail/python-3000/2007-July/008663.html

希望这会有所帮助。

答案 1 :(得分:1)

如果您希望在p大于len(number)时不运行代码,请将其添加到while循环的条件中:

while p <= len(number) and number[p] < 0:
  if "some condition":
    #do something
  else:
    #do something
  p=p+1

if / else的两个部分都不需要重复相同的代码-只需将其移出使其直接位于while下即可。

答案 2 :(得分:1)

这应该是一个for循环:

for value in number:
    if condition:
        do_something()
    else:
        do_other()