【发布时间】:2021-09-02 03:08:10
【问题描述】:
我的函数包含一个全局汽车字典,我正在尝试构建一个函数来总结三个汽车价格并返回它。如果你没有找到汽车,那么它会专门返回函数中提到的汽车的名称,说明它不存在。
这是我的字典:
CARS = {
"Honda Accord": 2500,
"Ford Mustang": 30000,
"Mercedez Benz C63": 54000,
"Audi A4": 35000,
"Toyota Camry": 2300
}
下面是函数的工作方式:
def func(car1,car2,car3):
for k in CARS.keys():
return CARS[car1] + CARS[car2] + CARS[car3]
#if k not in CARS.keys():
# return f'{k} not found'
最后一个 elif 是我遇到问题的地方。第一个 for 循环工作正常。我想输出如果用户输入了“Skoda”但它不在字典中,它应该打印出Skoda not found。另外,有没有更简洁的方法呢? TIA
编辑 大家好,好吧,为奇怪的语法和逻辑道歉。我基本上接受了 3 个字符串,我想检查这些字符串是否在字典中,如果是,则返回它们的值的总和,打印出字典中未提及的那些特定汽车型号并说未找到“汽车模型”。就是这样。
【问题讨论】:
-
哦还有,输入都是字符串。
-
您的代码不会这样工作,缩进完全关闭,逻辑也没有意义。首先,检查所有键是否都在字典中,然后打印一条消息或返回它的值。
-
@JanWilamowski 忘记添加缩进。
-
这仍然不是有效的语法。 for 循环没有
elif,只有 else(这在这里没有意义)。另外,如果您只是返回值而不检查第一次迭代,为什么还要迭代所有键? -
你想在这里做什么?
k来自哪里?代表什么?
标签: python python-3.x dictionary