Python实现自动售货机价格查询:规避输入陷阱与次数控制的代码解析
以下是实现该功能的Python代码: ```python # 定义商品价格字典,键为商品编号,值为商品价格 prices = { 1: 3.0, 2: 2.5, 3: 4.0, 4: 3.5 } # 初始化查询次数为0 query_count = 0 while query_count < 5: # 显示菜单 print("[1] Select crisps") print("[2] Select popcorn") print("[3] Select chocolate") print("[4] Select cola") print("[0] Exit") try: # 获取用户输入 choice = int(input("Please enter your choice: ")) if choice == 0: # 用户选择退出 break elif choice in prices: # 输入的编号在1 - 4之间,显示对应商品价格 print(f"The price is {prices[choice]} yuan.") else: # 输入的编号不在0 - 4之间,显示价格为0 print("The price is 0.") # 查询次数加1 query_count = query_count + 1 except ValueError: # 处理用户输入非整数的情况 print("Invalid input. Please enter an integer.") ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 要确保用户输入的是有效的整数,避免因输入非整数导致程序崩溃,这里使用了异常处理。 2. 对输入的编号范围进行严格检查,确保只处理0 - 4之间的编号。 3. 注意查询次数的计数,当达到最大查询次数时要正确退出循环。 ######[AI写代码神器 | 403点数解答 | 2025-11-24 00:18:28]
- Java实验:用Book类与Library类巩固面向对象、封装及关键字应用 ( | 1469点数解答 | 2024-04-02 10:20:41)418
- Java 实战:利用面向对象与静态变量实现图书信息自动编号并统计总册数 ( | 1137点数解答 | 2024-04-02 10:18:39)363
- Dev-C++实现图书信息链表存储与指定位置查找功能(GPT | 1650点数解答 | 2024-12-18 09:04:49)431
- Dev-C++实现:图书链表创建与指定位置图书信息查找全解析(GPT | 1823点数解答 | 2024-12-18 09:04:51)339
- 图书信息处理:查找最爱图书测试卷揭秘(字节豆包 | 386点数解答 | 2024-12-19 17:17:01)382
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)458
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)414
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)405
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)274
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)305
- 补全含错误代码:Vue结合Element UI组件实现查询、新增及表格展示功能 ( | 400点数解答 | 2023-12-19 15:20:50)432