首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串中调用变量

从字符串中调用变量
EN

Stack Overflow用户
提问于 2017-03-09 17:52:34
回答 2查看 101关注 0票数 0

我正在处理一个蟒蛇挂人游戏,并有我的图形基于一个变量,生命,所以当你有一个生命,相应的图片出现。我把我的图形放入定义中,并想从定义中调用它们。到目前为止,这是我的代码:

代码语言:javascript
复制
if life== 1:
        graphics1()
 if life==2:
        graphics2()
 if life==3:
        graphics3()
 if life==4:
        graphics4()
 if life==5:
        graphics5()
 if life==6:
        graphics6()
 if life==7:
        graphics7()
 if life==8:
        graphics8()
 if life==9:
        graphics9()
 if life==10:
        graphics10()

等等,是否有一条命令可以让我把它缩短到一两行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-09 18:00:16

我极力劝阻它,但它可以通过这样做来实现:

代码语言:javascript
复制
globals()["graphics" + str(life)]()

然而,肯定有一个更好的解决方案。假设每个graphics*()的内容彼此相似。

票数 0
EN

Stack Overflow用户

发布于 2017-03-09 18:06:02

多个if分支可以通过查找表表示为

代码语言:javascript
复制
lt = {"1":graphics1(), "2":graphics2()}

诸若此类。Accès to if分支机构通过(并提供一个后备功能)

代码语言:javascript
复制
lt.get(life, graphics1())

如果您想动态创建dict,请使用dict理解并使用getattr获取函数。或者,如前所述,对传递"ith“参数的函数图形进行概括。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42702226

复制
相关文章

相似问题

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