Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查变量,如果无效则返回错误_Python_If Statement_Eval - Fatal编程技术网

Python 如何检查变量,如果无效则返回错误

Python 如何检查变量,如果无效则返回错误,python,if-statement,eval,Python,If Statement,Eval,我不完全确定如何理解我的要求,但我希望用户能够输入一个输入,然后搜索几百个变量的列表(这里只显示了几个),然后显示变量(如果是一个)。如果用户输入不是一个变量,我想要一个错误,请重试消息。最后,如果用户输入“die”,那么程序将终止。我想您需要这样的东西,只需使用dict保存所有变量即可 pie="I like pie" banana="I like bananas" cake="I like cake" die=67 running = True while running: ite

我不完全确定如何理解我的要求,但我希望用户能够输入一个输入,然后搜索几百个变量的列表(这里只显示了几个),然后显示变量(如果是一个)。如果用户输入不是一个变量,我想要一个错误,请重试消息。最后,如果用户输入“die”,那么程序将终止。

我想您需要这样的东西,只需使用dict保存所有变量即可

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")
只是对代码的一个注释,eval(input(…)并不好,因为input是eval(raw_input(…)),在这种情况下,您不应该使用input(因为eval)。如果我理解您试图执行的操作,请尝试使用raw_input


希望有帮助

您可以这样做:

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
?为什么?看着这段python代码,我的眼睛很痛。这是python代码永远不应该导致的事情!:)使用dict而不是独立变量!
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")