如何从字典中获取输入?并打印所需的值。我想使用输入函数打印“zinger-Buerr”

2024-04-18 14:38:55 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从字典中获取输入?并打印所需的值。我想使用输入函数打印“zinger-Buerr”

menu = {
    "burger": { 
        "zinger burger": 230,
        "zinger cheese burger": 260,
        "thames special burger": 320,
        "beef burger": 250,
        "tower burger": 320,
        "fish burger": 260,
        "fish cheese burger": 290,
        "fire stone burger": 170,
        "crispy burger": 170,
        "chicker burger": 180,
        "tikka burger": 170,
        "shami burger": 170,
    },
    "steaks": {
        "Arizon steak": 650,
        "Mushroom steak": 650,
        "Pepper steak ": 650,
        "Polo tuscany": 650,
    }
}

2条回答

使用[]运算符将允许您从字典中获取数据

menutype = input("burger or steaks? ")
foodtype = input("what specifically? ")
print(menu[menutype][foodtype])

如果我在字里行间阅读,您希望获取例如s = 'zinger burger'并返回类似230的内容。如果是:

s = 'zinger burger'

sub = {k: p for _, d in menu.items() for k, p in d.items() if s.lower() in k.lower()}
sub
# out:
{'zinger burger': 230}

# and
s = 'Fish'
# out:
{'fish burger': 260, 'fish cheese burger': 290}

当存在多个匹配项时,您有一些选择,包括:

  1. 在键最接近s输入的位置获取结果(按长度或Levenshtein距离)
  2. 尽最大努力

相关问题 更多 >