我有這個代碼: 當我更改變數值時,它給了我 NameError: name 'y' is not defined 我該如何解決?
def a():
if 5 == 5:
global x
x = 39
return True
elif 6 == 6:
global y
y = 3
return True
def b():
if x == 3:
print("ok")
elif y == 3:
print("no")
a()
b()
uj5u.com熱心網友回復:
你在第一個 if 陳述句中回傳 Ture 并且 y 的宣告在 elif 陳述句中,這兩件事阻止y了被定義
def a():
check_1 = False
check_2 = False
if 5 == 5:
global x
x = 39
check_1 = True
if 6 == 6:
global y
y = 3
check_2 = True
return (check_1 and check_2)
def b():
if x == 3:
print("ok")
elif y == 3:
print("no")
a()
b()
會輸出
no
uj5u.com熱心網友回復:
在您的代碼中,y從未定義:
修復它的一種方法是:
def a():
if 5 == 5:
global x
x = 39
if 6 == 6:
global y
y = 3
def b():
if x == 3:
print("ok")
elif y == 3:
print("no")
a()
b()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/364844.html
上一篇:檢查字串是否包含特定單詞
下一篇:無法獲得第二個if/else問題
