小编use*_*116的帖子

将String转换为变量

对于我的检查命令,因为我不想这样做:

def examine(Decision):
    if Decision == "examine sword":
        print sword.text
    elif Decision == "examine gold":
        print gold.text
    elif Decision == "examine cake":
        print cake.text
    ...
Run Code Online (Sandbox Code Playgroud)

对于我游戏中的每个项目.

所以我想将Decision字符串的第二个单词转换为变量,以便我可以使用类似的东西secondwordvar.text.

我尝试使用eval(),但是当我在一个单词命令中拼写错误时,我总是会出错.

错误

IndexError: list index out of range

但它正在起作用.

现在我的代码是这样的:

def exam(Decision):
    try:
        examlist = shlex.split(Decision)
        useditem = eval(examlist[1])
        print useditem.text
    except NameError:
        print "This doesn't exist"
Run Code Online (Sandbox Code Playgroud)

有没有人有一个想法,另一种选择,我怎么能以一种简单的方式编写该功能?

我可能还应该包括完整的游戏.你可以在这里找到它:http: //pastebin.com/VVDSxQ0g

python string-conversion

2
推荐指数
1
解决办法
129
查看次数

标签 统计

python ×1

string-conversion ×1