亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

UnboundLocalError:分配前引用的局部變量“a1”

UnboundLocalError:分配前引用的局部變量“a1”

神不在的星期二 2022-05-24 15:54:58
def para(value):    if(value==1):        a1=10        b1=11        c1=12        d1=13    elif(value==2):        a1=20        b1=21        c1=22        d1=23    elif(value==3):        a1=30        b1=31        c1=32        d1=33    else:        print("wrong input")    dict_a=dict({'a':a1,'b':b1})    dict_b=dict({'c':c1,'d':d1})    return(dict_a, dict_b)def main():    global dict_a, dict_b    value=input("enter the choice: \n1. 1st \n2. 2nd \n3. 3rd \n4. 4th")    [dict_a, dict_b]=para(value)main()我得到的錯誤是:dict_a=dict({'a':a,'b':b})UnboundLocalError: local variable 'a1' referenced before assignment
查看完整描述

2 回答

?
慕少森

TA貢獻2019條經驗 獲得超9個贊

如果您的代碼命中 else 塊,則不會為 a1 分配值。


您可以通過以下兩種方式之一解決此問題:


分配一個默認值,以防它沒有在條件塊中分配。


a1 = 0

b1 = 0

c1 = 0

d1 = 0

if(value==1):

    a1=10

    b1=11

    c1=12

    d1=13

elif(value==2):

    a1=20

    b1=21

    c1=22

    d1=23

elif(value==3):

    a1=30

    b1=31

    c1=32

    d1=33

else:

    print("wrong input")

或者在 else 塊中分配變量,這將實現基本相同的事情


if(value==1):

    a1=10

    b1=11

    c1=12

    d1=13

elif(value==2):

    a1=20

    b1=21

    c1=22

    d1=23

elif(value==3):

    a1=30

    b1=31

    c1=32

    d1=33

else:

    a1 = 0

    b1 = 0

    c1 = 0

    d1 = 0

    print("wrong input")

如果您不希望用戶使用這些默認值,您可以隨時在 else 中拋出異常,讓用戶知道他們輸入了錯誤的值


查看完整回答
反對 回復 2022-05-24
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

您應該僅在有效輸入的情況下初始化字典


def para(value):

    dict_a = dict()

    dict_b = dict()

    if(value==1):

        dict_a={'a':10,'b':11}

        dict_b={'c':12,'d':13}

    elif(value==2):

        dict_a={'a':20,'b':21}

        dict_b={'c':22,'d':23}

    elif(value==3):

        dict_a={'a':30,'b':31}

        dict_b={'c':32,'d':33}

    else:

        print("wrong input")


    return(dict_a, dict_b)


查看完整回答
反對 回復 2022-05-24
  • 2 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號