首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比很多IF语句更好的选择?值表

比很多IF语句更好的选择?值表
EN

Stack Overflow用户
提问于 2016-08-16 19:13:22
回答 6查看 1.3K关注 0票数 7

我有一个移动表格,根据玩家对AI的选择来决定玩家是否获胜。想想石头,布,剪刀,还有更多的动作。我最终会用Python编写代码,但在开始之前,我想知道是否有更好的方法来完成这项工作,而不是使用大量的if语句?

该表如下所示:

我在想,这些动作需要分配数字,或者类似的东西?我不知道从哪里开始..。

EN

Stack Overflow用户

发布于 2016-08-16 19:23:36

是的,将决策作为键/值对存储在字典中,将所有可能的组合作为键,将决策作为结果。基本上,为可能的移动创建一个查找表。

这加快了决策速度,但代价是必须存储所有可能的组合。

代码语言:javascript
复制
def tie():
    print("It's a tie!")

def lose():
    print("You lose")

def win():
    print("You win")
moves = { 
     # player_ai action
    'punch_punch': tie,
    'punch_kick': lose,
    'punch_stab': lose,
    <..>
}
player_move = <move>
ai_move = <move>
key = "_".join([player_move, ai_move])
if key in moves:
    # Execute appropriate function
    return moves[key]()
raise Exception("Invalid move")
票数 0
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38973433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档