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 中抛出异常,让用户知道他们输入了错误的值
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)
添加回答
举报
