我刚刚开始学习Python 3,这是我开始编写的前几个代码。这将要求用户添加字典:
add_d = input("Add Dictionary: ")
然后它将要求用户添加值并将其添加到字典的第一个(或特定)键
add_item = str(input("Add value: ")
for x in add_d():
add_d.keys()[x] = add_item
我的问题是出现错误“字典对象不可调用”。 我该如何解决?
答案 0 :(得分:0)
有些事情与此并不合适。错误消息与for x in add_d()
有关(您应该删除()
,因为它不是函数调用)。但是您应该记住,字典是一系列key:value
对,因此您确实希望用户指定键和值,而不是字典和值。看起来更像这样
add_d = dict()
dict_key = input("Specify key: ")
dict_val = input("Specify value: ")
add_d[dict_key] = dict_value
答案 1 :(得分:0)
看起来像是在未封闭括号中的问题:
add_item = str(input("Add value: "))
for x in add_d():
add_d.keys()[x] = add_item
答案 2 :(得分:0)
您将变量add_d称为不是函数,这就是为什么它显示无法调用的对象。 您可以使用fromkeys方法使用输入的键和值来创建字典。
add_d = input("Add Dictionary: ")
add_item = input("Add value: ")
add_d = dict.fromkeys(add_d, add_item)
print(add_d)
output: {key: value}
答案 3 :(得分:0)
您的示例中有一些问题
input("Add Dictionary: ")
将返回str永远不会是字典
add_item = str(input("Add value: "))
不需要str()
,因为它是字符串
由于add_d
是字符串,因此不能使用add_d.keys()
。(只有dict可以做到)
我猜你想要
d = {}
while 1:
add_d = input("Add key: ")
if not add_d:
break
add_item = input("Add value: ")
d[add_d] = add_item
print(d)