我试图将 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
我试图将 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
我正在尝试将 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) ]