我试图将5个名称保存到变量中,但出现错误TypeError: 'builtin_function_or_method' object does not support item assignment我尝试了几种其他方法,但是没有运气,而且我似乎看不出问题出在哪里。k = 0 while k < 5: sum = input("name: ") ord[k] = sum k += 1
1 回答
翻翻过去那场雪
TA贡献2065条经验 获得超13个赞
我正在尝试将5个名称保存到变量中
不是最好的描述。更好:“我正在尝试创建一个包含5个字符串的字典。”
但我得到一个错误
ord是内置函数。它不是字典,除非您之前已分配了该名称(您ord = {}的代码中没有)。某些IDE(例如eclipse的PyDev插件)会警告您此类错误。
选择另一个名称,并将其初始化:
d = {}
k = 0
while k < 5:
s = input("name: ")
d[k] = s
k += 1
(sum也是内置的。)
如果您使用的是python2.x,则应使用raw_input()而不是input()。
顺便说一下,这段代码可以这样写:
d = {}
for k in range(5):
d[k] = input("name: ")
甚至更短:
d = { k:input('name: ') for k in range(5) }
并且由于索引是0..4,为什么不使用简单的list?
d = [ input('name: ') for _ in range(5) ]
添加回答
举报
0/150
提交
取消