从用户输入到列表内容

问题描述 投票:0回答:2

我最近开始了我的前几篇python教程,遇到了一些我找不到答案的东西。

我创建了包含不同信息的各种列表。例如,简单的煎饼成分列表。

pancakes = (eggs, milk, flour)

现在,我想通过用户输入“煎饼”来访问配料

例如:

foods = input("type something") #I type in 'pancakes'

print(foods)

然后它将打印存储在“煎饼”列表中的项目

eggs, milk, flour

但是这行不通...有什么想法吗?

python list
2个回答
0
投票

您可以使用词典来存储每种食物的成分(假设您要支持多种食物:]

foods = {'pancakes': ('eggs', 'milk', 'flour')}
wanted = input('type something: ')
print(foods.get(wanted, 'You requested non-existing food'))

我用.get处理了所输入食物不存在的情况。

BTW,('eggs', 'milk', 'flour')是一个元组,而不是列表。


0
投票

[当您输入pancakes时,python将其视为字符串(不是变量),并将food的值设置为pancakes一词(这说明如果您运行此代码,它将输出pancakes。]]

如果您在键入单词pancakes时要输出元组的内容,我建议您执行以下操作:

pancakes = (eggs, milk, flour)
foods = input("type something") #I type in 'pancakes'

if foods == "pancakes":
    print(pancakes)

此代码中发生的是,当您键入pancakes时,if statement将检查foods变量是否等于单词pancakes。如果是这样,它将打印元组pancakes


更实用的方式,我建议将所有食谱存储在字典中,如下所示:

recipes = {"pancakes" :["eggs", "milk", "flour")}

foods = input("type something") #I type in 'pancakes'

if foods in recipes.keys()":
    print(recipes["foods"])

希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.