Python颜色混合功能开发求助:完善剩余3部分代码逻辑
颜色混合规则与Python代码完善
颜色混合规则
- 红色与蓝色混合得到紫色
- 红色与黄色混合得到橙色
- 蓝色与黄色混合得到绿色
- 任意颜色与黑色混合得到黑色
- 任意颜色与白色混合得到该颜色的浅色调(例:红色+白色=浅红色)
- 同种颜色混合仍为该颜色
现有代码问题
当前代码已实现前3种混合逻辑,但黑色混合、白色混合、同色混合的逻辑存在错误:
- 条件判断写法不符合Python语法,比如
color1 == "red" or "blue" or "yellow"无法正确判断颜色,需用成员运算符in检查颜色是否在指定列表中 - 白色混合的输出仅显示"light",未结合对应颜色生成正确的浅色调文本
- 缺少同色混合的判断分支
修正后的完整代码
color1 = input("请输入第一种颜色(可选:红色, 蓝色, 黄色, 黑色, 白色):") color2 = input("请输入第二种颜色(可选:红色, 蓝色, 黄色, 黑色, 白色):") # 同色混合判断 if color1 == color2: print(f"混合结果是{color1}") # 黑色混合判断 elif "黑色" in [color1, color2]: print("混合结果是黑色") # 白色混合判断 elif "白色" in [color1, color2]: # 获取非白色的基础颜色 base_color = color1 if color2 == "白色" else color2 print(f"混合结果是浅{base_color}") # 三原色混合判断 elif (color1 == "红色" and color2 == "蓝色") or (color1 == "蓝色" and color2 == "红色"): print("混合结果是紫色") elif (color1 == "红色" and color2 == "黄色") or (color1 == "黄色" and color2 == "红色"): print("混合结果是橙色") elif (color1 == "蓝色" and color2 == "黄色") or (color1 == "黄色" and color2 == "蓝色"): print("混合结果是绿色") else: print("输入的颜色不在可选范围内,请重新输入")
代码说明
- 同色混合:优先判断两种颜色是否一致,直接输出原颜色,匹配规则第6条
- 黑色混合:只要任一颜色是黑色,直接输出黑色,简洁覆盖规则第4条的所有场景
- 白色混合:提取非白色的基础颜色,拼接成“浅+基础颜色”格式输出,符合规则第5条的示例要求
- 调整输入提示为中文,增加非法输入提示,提升使用体验
内容的提问来源于stack exchange,提问作者user18385215
相关产品推荐
相关产品推荐

