如果有人可以简单解释为什么在代码1中多次打印大的“ X”而不在代码2中多次打印,则高度感激。
代码1
flag=False
i=0
while not flag:
print(f"big {i}")
while True:
i+=1
print(i)
if i==5:
flag=True
print("cond reached")
break
输出
大0 1个 大1 2 大2 3 大三 4 大四 5 达到条件
代码2
flag=False
i=0
while not flag:
print(f"big {i}")
while True:
i+=1
print(i)
if i==5:
flag=True
print("cond reached")
break
输出
大0 1个 2 3 4 5 达到条件
答案 0 :(得分:1)
在第二段中,break
语句仅在i=5
时执行,因此代码将停留在内部循环中,直到i =5。这种情况下,标志设置为{{ 1}},这意味着不会再次执行外部循环。换句话说:
在代码的第一段中,外部的while循环被多次调用,因为内部循环总是中断,而在代码的第二段中,外部的while循环仅被调用一次,因为内部的循环仅在{ {1}},它还为外循环设置了中断条件。