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

Python入门求助:实现年份区间定价与循环查询功能

嘿,作为Python新手第二周就能写出功能代码已经很棒啦!针对你提出的优化需求,我整理了一套完整的解决方案,咱们一步步来实现:

优化汽车年份定价查询程序的解决方案

核心优化目标拆解

  • 支持自定义年份区间的定价逻辑,超出区间返回明确错误提示
  • 实现循环查询机制,用户可选择继续查询或退出程序

完整优化代码示例

def get_car_price(year):
    # 自定义定价区间,你可以根据需求修改这两个值
    min_valid_year = 1960
    max_valid_year = 1970
    
    # 检查年份是否在有效区间内
    if not (min_valid_year <= year <= max_valid_year):
        return f"错误:输入的年份不在定价范围内,请输入{min_valid_year}到{max_valid_year}之间的年份"
    
    # 这里替换成你的实际定价逻辑,示例保留你原本的1961、1962规则并扩展其他区间
    if year == 1961:
        return "价格:$15,000"
    elif year == 1962:
        return "价格:$16,500"
    elif 1963 <= year <= 1965:
        return "价格:$18,000"
    elif 1966 <= year <= 1970:
        return "价格:$20,000"

def main():
    while True:
        try:
            user_input = input("\n请输入汽车生产年份(输入'q'可退出程序):\n")
            # 处理用户退出请求,不区分大小写
            if user_input.lower() == 'q':
                print("程序已退出,再见!")
                break
            
            # 将输入转换为整数年份
            car_year = int(user_input)
            # 获取价格结果并输出
            price_result = get_car_price(car_year)
            print(price_result)
            
        except ValueError:
            # 处理用户输入非数字的情况
            print("错误:请输入有效的年份数字,或输入'q'退出程序")

if __name__ == "__main__":
    main()

代码关键细节说明

  1. 模块化定价逻辑:把年份判断和价格计算封装在get_car_price()函数里,后续修改定价规则或区间只需要改动这个函数,维护起来更省心。
  2. 灵活的区间校验:通过min_valid_year和max_valid_year定义有效区间,一行代码就能完成合法性检查,超出区间直接返回友好提示。
  3. 循环交互机制:用while True实现无限循环,直到用户输入q才退出,完美满足“反复查询或退出”的需求。
  4. 异常防护:捕获用户输入非数字时的ValueError,避免程序崩溃,同时给出清晰的引导提示。

扩展建议

  • 你可以随时修改get_car_price()里的区间值和定价规则,比如添加更多年份对应的价格,或者调整区间范围
  • 如果后续需要支持多车型定价,只需要给get_car_price()增加一个车型参数,扩展起来非常灵活

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:23:27