Python无循环/函数实现点餐系统(含酱料选择)问题求助
修正后的Python点餐程序
代码实现
# 显示餐品菜单 print("请选择餐品:") print("1 - Steak(牛排)") print("2 - Mussels(贻贝)") print("3 - Scampi(炸虾球)") print("4 - Quinoa(藜麦)") # 获取用户餐品选择 meal_choice = input("输入对应数字:") # 转换为整数并处理非数字输入 try: meal_num = int(meal_choice) except ValueError: print("We do not serve this") else: # 判断餐品选择是否合法 if meal_num == 1: meal_name = "Steak(牛排)" # 显示牛排酱料选项 print("\n请选择酱料:") print("1 - 黑胡椒酱") print("2 - 蘑菇酱") print("3 - 红酒酱") sauce_choice = input("输入对应数字:") try: sauce_num = int(sauce_choice) if sauce_num == 1: sauce_name = "黑胡椒酱" elif sauce_num == 2: sauce_name = "蘑菇酱" elif sauce_num == 3: sauce_name = "红酒酱" else: print("无效酱料选择,默认搭配黑胡椒酱") sauce_name = "黑胡椒酱" except ValueError: print("无效酱料选择,默认搭配黑胡椒酱") sauce_name = "黑胡椒酱" print(f"\n您的餐品:{meal_name} + {sauce_name}") elif meal_num == 2: meal_name = "Mussels(贻贝)" # 显示贻贝酱料选项 print("\n请选择酱料:") print("1 - 柠檬黄油酱") print("2 - 番茄蒜蓉酱") print("3 - 白葡萄酒酱") sauce_choice = input("输入对应数字:") try: sauce_num = int(sauce_choice) if sauce_num == 1: sauce_name = "柠檬黄油酱" elif sauce_num == 2: sauce_name = "番茄蒜蓉酱" elif sauce_num == 3: sauce_name = "白葡萄酒酱" else: print("无效酱料选择,默认搭配柠檬黄油酱") sauce_name = "柠檬黄油酱" except ValueError: print("无效酱料选择,默认搭配柠檬黄油酱") sauce_name = "柠檬黄油酱" print(f"\n您的餐品:{meal_name} + {sauce_name}") elif meal_num == 3: meal_name = "Scampi(炸虾球)" # 显示炸虾球酱料选项 print("\n请选择酱料:") print("1 - 塔塔酱") print("2 - 甜辣酱") print("3 - 蒜蓉蛋黄酱") sauce_choice = input("输入对应数字:") try: sauce_num = int(sauce_choice) if sauce_num == 1: sauce_name = "塔塔酱" elif sauce_num == 2: sauce_name = "甜辣酱" elif sauce_num == 3: sauce_name = "蒜蓉蛋黄酱" else: print("无效酱料选择,默认搭配塔塔酱") sauce_name = "塔塔酱" except ValueError: print("无效酱料选择,默认搭配塔塔酱") sauce_name = "塔塔酱" print(f"\n您的餐品:{meal_name} + {sauce_name}") elif meal_num == 4: meal_name = "Quinoa(藜麦)" print(f"\n您的餐品:{meal_name}") else: print("We do not serve this")
代码说明
- 用
try-except捕获用户输入非数字的情况,避免程序崩溃,同时输出指定提示 - 每个餐品选择用独立的
if-elif分支处理,完全符合禁止使用循环和函数的要求 - 前3款餐品分支内嵌套酱料选择的判断逻辑,同样用
try-except和if-elif处理非法输入,默认分配一款酱料 - 非法餐品数字直接输出
We do not serve this - 输出格式清晰,明确展示最终的餐品+酱料组合
内容的提问来源于stack exchange,提问作者Duckbug
相关产品推荐
相关产品推荐

