我在用python2编码。我需要创建一个名为change()的函数来更改字典中列表的值

2024-04-26 00:01:39 发布

您现在位置:Python中文网/ 问答频道 /正文

函数应该接受三条信息:一个值(以字符串形式给出)和一行和一个索引(以元组形式给出)。字典是一个不对称的游戏板。change()函数的作用是在给定“位置”(行作为字符串,列作为索引/整数,可能组合为元组)时,更改字典键中存储的列表中包含的字符串的值,并更改该索引处的“值”。这是我的密码:

board = dict()
board['a'] = ['t']
board['b'] = ['0','t','0','0','t','0']
board['c'] = ['0','1','2','3','4','5']
board['d'] = ['0','0','0','0','0','0']
board['e'] = ['0','0','0','0']


print board['a'][0]

def change(value,position):
    board[position()]=value

change('G',('c', 4))

print board['c'][3]

我想我知道应该如何调用它,但我不知道如何使函数改变()。我得到错误“Type error:'Tuple'object is not callable”。我是一个初学者,所以我真的很感谢任何帮助。我试过研究这个问题,但到目前为止还没有找到答案。谢谢!你知道吗


Tags: 函数字符串board信息游戏密码列表字典
2条回答
board[position()]=value

不如试试这个-

board[position[0]][position[1]]=value

同样,要打印更改的值-

print board['c'][4]

x()意味着您正在调用x。例如change('G',('c', 4))意味着您用参数G('c', 4)调用了函数change。您可以这样做,因为change是一个函数,如语句def change...所示。函数是最常见的可调用对象。元组是不可调用的。也就是说,你不能给他们打电话。如果x是元组,则不能写入x()。这就是错误告诉你的。你知道吗

现在,你在哪里做的?事实上,这个错误也应该非常明确地告诉你。不是你给我们看的错误部分,而是全部。你应该看到这样的场景:

Traceback (most recent call last):
  File "t.py", line 14, in <module>
    change('G',('c', 4))
  File "t.py", line 12, in change
    board[position()]=value
TypeError: 'tuple' object is not callable

这是一个回溯,意味着它正在回溯导致此错误的调用序列。它告诉我们它的顺序。这意味着链中的第一个调用位于顶部,您可以像阅读故事一样阅读它。您在程序的第14行调用了change('G',('c', 4))。根据定义def change(value,position),这意味着value = 'G',更重要的是position = ('c', 4),一个元组。这导致了board[position()]=value。注意position()。你知道吗

相关问题 更多 >