簡體   English   中英

基於 if-else 語句外的變量更新移動到 else 語句

[英]Move to else statement based on variable update outside if-else statement

伙計們,這可能是一個小問題,但我被困在這里,任何人都可以幫助我理解我的要求,將不勝感激。

check = True
if check:
    for i in dict:
        if i in another_dict:
            do something
        else:
            check = False

else:
    status = True

if status:
    do something

else:

最初,我將 True(bool) 值分配給 IF-ELSE 語句外部的變量,如果我從 IF 語句內部更新相同的變量,我想移動到 else 語句。

(即)在上面的代碼中,如果變量“check”= False,我想繼續使用 main else 語句

只需使用另一個if 如果check在第一個if中更新,它將 go 進入第二個if

check = True
status = False

if check:
    for i in dct:
        if i in another_dict:
            do_something()
        else:
            check = False

if not check:
    do_something()
    status = True

if status:
    do_something()

到 go 到外部,否則你需要跳出你所在的循環。

for i in dict:

然而,即使循環結束,“check”也不會再次被檢查,因為它已經被檢查過一次。 為了更好地理解它,我們已經越界了:

if check

而且我們不會回到它,因為沒有循環。

考慮到這一切,最好的解決方案是在代碼末尾添加另一個檢查以查看 check == false 並執行您必須執行的任何操作。

check = True
if check:
    for i in dict:
        if i in another_dict:
            do something
        else:
            check = False

else:
    do something

if not check
    do something

使用檢查作為全局變量..您更改 function 中的全局變量的值,使用 global 關鍵字引用該變量:

x = "awesome"

def myfunc():
  global x
  x = "fantastic"

myfunc()

print("Python is " + x)

暫無
暫無

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

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