You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python实现校验指定车型是否在字典中,存在则求和否则返回缺失提示

原有代码问题分析

你写的现有代码逻辑完全没有完成校验要求:

  1. 遍历CARS所有键的循环无意义,函数进入循环的第一时间就会直接返回三个车型的价格和,根本不会执行校验逻辑
  2. 没有针对传入的3个车型参数做逐个存在性校验,自然无法识别不存在的车型
实现代码

直观易读版本

# 全局汽车价格字典
CARS = {
  "Honda Accord": 2500,
  "Ford Mustang": 30000,
  "Mercedez Benz C63": 54000,
  "Audi A4": 35000,
  "Toyota Camry": 2300
}

def func(car1, car2, car3):
    # 逐个校验传入的3个车型是否存在
    for car in [car1, car2, car3]:
        if car not in CARS:
            return f"{car} not found"
    # 所有车型都存在时返回价格总和
    return CARS[car1] + CARS[car2] + CARS[car3]

更简洁的写法

利用生成器表达式快速匹配不存在的车型,结合sum函数直接求和,代码更精简:

def func(car1, car2, car3):
    miss_car = next((car for car in (car1, car2, car3) if car not in CARS), None)
    return f"{miss_car} not found" if miss_car else sum(CARS[car] for car in (car1, car2, car3))
效果测试
  • 所有车型存在时:调用func("Ford Mustang", "Audi A4", "Toyota Camry"),返回结果为67300
  • 存在不存在的车型时:调用func("Honda Accord", "BMW 3系", "Mercedez Benz C63"),返回结果为BMW 3系 not found

内容的提问来源于stack exchange,提问作者Aanwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:57:03