添加到由函数确定的变量

2024-06-14 12:52:09 发布

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

我有

random.choice([clas, elve, volcan, atl, fro, dark, terr, barb]) += 1

我想让随机函数从列出的8个变量中选择一个变量,然后给这个变量加1。你知道吗

当我尝试这样做时,我得到了“不能赋值给函数调用”错误,因为我不能向随机函数添加值。如何使python将1添加到函数返回的变量中?你知道吗

我想我可以这样做:

rand_return = random.choice([clas, elve, volcan, atl, fro, dark, terr, barb])
rand_return += 1

但是,我没有给原始列表中的8个变量中的一个添加值,而是创建了一个新变量并开始处理它,而不是编辑最初由随机函数选取的变量。你知道吗


Tags: 函数returnrandomdark赋值函数调用choiceterr
1条回答
网友
1楼 · 发布于 2024-06-14 12:52:09

您可以使random.choice从表示变量名称的字符串列表中进行选择,然后使用globals()(它返回所有全局名称的字典,包括变量)来更新变量,例如-

rand_return = random.choice(['clas', 'elve', 'volcan', 'atl', 'fro', 'dark', 'terr', 'barb'])
gbl = globals()
gbl[rand_return] += 1

缩短版本-

globals()[random.choice(['clas', 'elve', 'volcan', 'atl', 'fro', 'dark', 'terr', 'barb'])] += 1

相关问题 更多 >