0
pie="I like pie"
banana="I like bananas"
cake="I like cake"
die=67
running = True

while running:
    item = eval(input("Select your item:  "))

    if item == "die":
        running = False
    elif item !="die":
        print(item)
    else:
        print("Invalid entry. try again")

私が求めていることを理解する方法は完全にはわかりませんが、ユーザーが入力を入力できるようにしてから、数百の変数のリスト (ここではほんの一部を示しています) を検索し、次の場合に変数を表示できるようにしたいと考えています。それは一つです。ユーザー入力が変数でない場合、エラーが発生した場合は、もう一度やり直してくださいというメッセージが表示されます。最後に、ユーザーが「死ぬ」と入力すると、プログラムは終了します。

4

2 に答える 2

1

次のようなことができます。

output_dict = {
    'pie': "I like pie",
    'banana': "I like bananas",
    'cake': "I like cake"
}

item = None
while item != 'die':
    item = raw_input("Select your item:")
    if item != 'die':
        item = output_dict.get(item, None)
        if item:
            print item
        else:
            print("Invalid entry. try again")   
于 2013-11-11T18:34:26.253 に答える
0

代わりにこのようなものが必要だと思います.dictを使用してすべての変数を保持するだけです

my_dict = {'pie':'I like pie',
           'banana' : 'I like banana'
          ...
          }

running = True

while running:
   item = raw_input("select item:")
   if item=='die':
       running = False
   elif item in my_dict:
       print my_dict[item]
   else:
       print "try again"

入力が eval(raw_input(..)) であるため、コードについてのコメントです。eval(input(...)) は適切ではありません。何をしようとしているのかを理解し、代わりに raw_input を使用してみてください。

それが役に立てば幸い!

于 2013-11-11T18:27:39.780 に答える