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

Python颜色混合功能开发求助:完善剩余3部分代码逻辑

颜色混合规则与Python代码完善

颜色混合规则

  • 红色与蓝色混合得到紫色
  • 红色与黄色混合得到橙色
  • 蓝色与黄色混合得到绿色
  • 任意颜色与黑色混合得到黑色
  • 任意颜色与白色混合得到该颜色的浅色调(例:红色+白色=浅红色)
  • 同种颜色混合仍为该颜色

现有代码问题

当前代码已实现前3种混合逻辑,但黑色混合、白色混合、同色混合的逻辑存在错误:

  1. 条件判断写法不符合Python语法,比如color1 == "red" or "blue" or "yellow"无法正确判断颜色,需用成员运算符in检查颜色是否在指定列表中
  2. 白色混合的输出仅显示"light",未结合对应颜色生成正确的浅色调文本
  3. 缺少同色混合的判断分支

修正后的完整代码

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("输入的颜色不在可选范围内,请重新输入")

代码说明

  1. 同色混合:优先判断两种颜色是否一致,直接输出原颜色,匹配规则第6条
  2. 黑色混合:只要任一颜色是黑色,直接输出黑色,简洁覆盖规则第4条的所有场景
  3. 白色混合:提取非白色的基础颜色,拼接成“浅+基础颜色”格式输出,符合规则第5条的示例要求
  4. 调整输入提示为中文,增加非法输入提示,提升使用体验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:25:17