python break语句未清除

时间:2019-04-03 07:22:06

标签: python

我的问题是关于python中的break语句

在此代码中,x是迭代器。对于第一次迭代,苹果将存储在x中,然后在第二次迭代中进行打印,香蕉将存储在x中,但由于中断,它将无法打印。

我的问题是为什么即使将其存储在x中也不会打印。 break语句后会发生什么。香蕉去哪了?

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    break
  print(x) 

1 个答案:

答案 0 :(得分:1)

OP:我的问题是为什么即使将其存储在x中也不会打印。

什么都没有存储在这里,但比较

调试

fruits = ["apple", "banana", "cherry"]
for x in fruits:          # for each fruit in fruits
  if x == "banana":       # the cond is False for the first iter  
    break
  print(x)                # prints apple

对于第二次迭代,条件为True,它将中断循环。因此,您获得的唯一输出是apple

正确的代码段为:

fruits = ["apple", "banana", "cherry"]
for x in fruits:         # for each fruit in fruits
  if x == "banana":      # if the fruit is banana
    print(x)             # print the banana
    break                # break from the loop