为什么“不”打印额外的时间?如果不在单独的函数中编写循环,如何解决问题?
for i in range(2):
if i == 1:
print("yes")
print("no")
结果:
no
yes
no
答案 0 :(得分:3)
让我们看看发生了什么:
i=0
时,它会打印no
在i=
之后,首先打印yes
,然后打印no
。
编辑:修复它,你可以
for i in range(2):
if i == 1:
print("yes")
else:
print("no")
或者,
for i in range(2):
if i == 1:
print("yes")
continue
print("no")
答案 1 :(得分:1)
另一个print
语句无条件地发生 ;也就是说,没有else
来阻止它再次发射。
您可以使用else
for i in range(2):
if i == 1:
print("yes")
else:
print("no")
答案 2 :(得分:1)
你也可以使用关键字break
来修复它,如下所示:
for i in range(2):
if i==1:
print('yes')
break
print('no')
当i == 1突破for func时,也许这是更好的理解