gpt4 book ai didi

python - 如何调用可以是整数或函数的字典项?

转载 作者:太空宇宙 更新时间:2023-11-03 23:59:22 26 4
gpt4 key购买 nike

我正在尝试编写一个代码,对个人使用的桌面游戏中的一个单元进行统计分析。我正在使用字典来存储单位数据,我遇到了一个问题,即攻击造成的损害可以是整数值,也可以是掷骰子“d6”的结果

我创建了一个函数,该函数采用 d6 的值并将其计算为 d(6),然后运行简单计算以确定平均射击次数 3.5。出于方便的原因,我希望能够将“d(6)”保留在字典中,而不是为我想要放入的每个单元手动转换为 3.5。

在单位字典的一个非常精简的例子中,

unit = {'damage':1}

unit = {'damage':'d(6)'}

我正在寻找一种方法来检查值是整数还是字符串的“损坏”调用,然后如果它是字符串,则从中去除引号并将其作为函数求值。我的搜索运气不太好,因为我真的不知道我在搜索什么。

最佳答案

使字典的每个值都一致并返回一个可以调用的 lambda 函数,d 函数在被调用之前不会被求值。

>>> unit = {'damage': lambda: 1, 'b': lambda: d(6) }
>>> unit['damage']()
1
>>> unit['b']()
result of d(6)

关于python - 如何调用可以是整数或函数的字典项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56237950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com