1. ホーム
  2. パイソン

[解決済み】Python 3: UnboundLocalError: 代入前に参照されたローカル変数 [重複].

2022-03-30 08:22:13

質問

次のコードでは、エラーが発生します。 UnboundLocalError: local variable 'Var1' referenced before assignment :

Var1 = 1
Var2 = 0
def function(): 
    if Var2 == 0 and Var1 > 0:
        print("Result One")
    elif Var2 == 1 and Var1 > 0:
        print("Result Two")
    elif Var1 < 1:
        print("Result Three")
    Var1 =- 1
function()

どうすれば直るのでしょうか?

どのように解決するのですか?

グローバルに依存するのではなく、パラメータを渡すことで解決できます。

def function(Var1, Var2): 
    if Var2 == 0 and Var1 > 0:
        print("Result One")
    elif Var2 == 1 and Var1 > 0:
        print("Result Two")
    elif Var1 < 1:
        print("Result Three")
    return Var1 - 1
function(1, 1)