私はこれをしたくないので、私の調べるコマンドのために:
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
文字列の 2 番目の単語を変数に変換して、 のようなものを使用できるようにしたいと考えましたsecondwordvar.text
。
を使用しようとしましeval()
たが、1 つの単語コマンドでスペルを間違えると、常にエラーが発生します。
エラー
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