簡體   English   中英

Python的for循環的最后一行執行了兩次

[英]Python last line of for loop executed twice

為什么“否”再打印一次? 如何在不使用單獨函數編寫循環的情況下解決問題?

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

結果:

no
yes
no

讓我們看看發生了什么:

i=0時,打印noi= ,它首先打印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")

其他print語句無條件發生; 也就是說,沒有else可以阻止它再次發射。

您可以通過使用else來防止它:

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時,可以更好地理解

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM