Python for循环的最后一行执行了两次

Python for循环的最后一行执行了两次,python,for-loop,Python,For Loop,为什么不多打印一次?如果不在单独的函数中写入循环,如何解决问题 for i in range(2): if i == 1: print("yes") print("no") 结果: no yes no 另一个打印语句无条件发生;也就是说,没有其他方法可以阻止它再次开火 您可以使用以下方法来防止它: 让我们看看发生了什么: 当i=0时,它打印no 当i=时,它首先打印yes,然后打印no 编辑:要修复它,您可以 for i in range(2):

为什么不多打印一次?如果不在单独的函数中写入循环,如何解决问题

for i  in range(2):
    if i == 1:
        print("yes")
    print("no")
结果:

no
yes
no
另一个打印语句无条件发生;也就是说,没有其他方法可以阻止它再次开火

您可以使用以下方法来防止它:

让我们看看发生了什么:

当i=0时,它打印no 当i=时,它首先打印yes,然后打印no

编辑:要修复它,您可以

for i  in range(2):
    if i == 1:
       print("yes")
    else:
       print("no")
或者

你也可以使用关键字break来修复它,如下所示:

for i in range(2):
    if i==1:
        print('yes')
        break
    print('no')
当i==1将for func分隔开时,可能更好地理解这一点

将continue作为if块中的附加行,或将printno放在else:块中。
for i  in range(2):
    if i == 1:
        print("yes")
        continue
    print("no")
for i in range(2):
    if i==1:
        print('yes')
        break
    print('no')