簡體   English   中英

如果條件為 False,如何打破 while 循環?

[英]How to break the while loop if the condition is False?

我有一個很長的 function ,我在其中檢查不同的參數,如果任何參數為 False,我不想進一步執行代碼。

為了您的理解,這就是我想讓它工作的方式

Email = True
while(Email == True):
    print("Execute Me")
    Email = False # Break the while loop here
    print("Never execute me")

這是我的代碼的偽版本:

def users_preferences(prefs):
    for pref in prefs:
        send_email = True
        while(send_email == True):
            # Set send_email = False if email is not verified and don't move to the next line
            # Set send_email = False if user's email is not a part of specific group
            ...
            ...

如果條件在任何時候為 False,我如何在不進一步執行代碼的情況下打破循環?

編輯: break語句的問題在於,在運行具有多個語句的新語句之前檢查條件會變得很麻煩

您可以使用正常的break語句:

Email = True
while Email:
    print("Execute Me")
    Email = False # Break the while loop here
    if not Email:
        break
    print("Never execute me")

編輯:如果while循環沒有做任何特別的事情,代碼可以修改為:

for pref in prefs:
    if not is_email_verified(email) or not is_user_in_group(user, group):
        continue
    send_email(email)

您好,您的代碼需要更好地縮進。 另外,您為什么不嘗試使用 break 語句來跳出循環?

Email = True
while Email:
    # do something
    break
# continue doing something

暫無
暫無

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

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