我正在尝试为使用Python的游戏编写一些代码,似乎不能将我的变量从按钮单击命令中移出到字典变量中供以后使用。我想要做的是在单击按钮上运行jingle_add(),让它运行一些计算,更新显示并返回使用的树值并将其更改回适当的字典键。如果在jingle_add()中直接调用字典值,我可以让代码工作,但我试图压缩我的代码并将其用作多个不同类型值的模板,这些值将保存在同一字典中,用不同的按钮调用它们。但是,在下面的代码版本中,我根本无法运行它,并且没有给出明显的错误,只有lambda行处有一个标志。在lambda调用中是否有某些我错过了,或者是我错过了什么?在Tkinter按钮中更新Python中的字典值
data = {'fans': 0, 'jingle': 0, 'jingle_cost': 15}
jingle_button = Button(win, text = "Make a jingle - +0.1 fans/sec", command = lambda: data['fans'], data['jingle_cost'], data['jingle'] = jingle_add(data['fans'], data['jingle_cost'], data['jingle']))
def jingle_add(fans, cost, building):
if fans >= cost:
fans -= cost
cost = round(cost * (1.07**building), 1)
building += 1
return fans, cost, building
如果有人想看到完整的代码,以更好地了解我想要做什么,它可在github.com/kari-fox/MixxMaster –