对于我的检查命令,因为我不想这样做:
def examine(Decision):
if Decision == "examine sword":
print sword.text
elif Decision == "examine gold":
print gold.text
elif Decision == "examine cake":
print cake.text
...
对于我游戏中的每一个项目。
所以我想将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"
有没有人知道,对于另一种选择,我如何以一种简单的方式编写该函数?
我可能还应该包括完整的游戏。你可以在这里找到它:http: //pastebin.com/VVDSxQ0g