我需要这样做。
def multiDecare(num = eval(input('Enter number of variables : '))):
I = 0
get_var = {}
while I < num:
e = 'var'+str(I)
get_var.update(dict.fromkey(e))
return get_var
打印时的结果如下:
{'var1':'','var2':'''var3':'''var4':'''var5':''}
答案 0 :(得分:2)
你有一个无限循环,因为你没有递增I
。
为了避免所有while
内容(每个人都被while
抓到一次),您可以使用for
循环,但更好的是,您可以在1行中创建字典在from_keys
def multiDeclare(num):
return dict.fromkeys(("var{}".format(i) for i in range(1,num+1)),"")
或dict comprehension:
return {"var{}".format(i+1):"" for i in range(num)}
num == 5
,函数返回:
{'var5': '', 'var4': '', 'var2': '', 'var1': '', 'var3': ''}
除了:
eval(input(""))
,这是不安全的,在这种情况下int(input(""))
会做同样的事情