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

如何修正国际象棋棋盘坐标对应颜色输出的Python程序问题?

修正后的Python代码

原代码存在两个核心问题:

  1. 仅覆盖两种奇偶组合场景:遗漏了x、y奇偶性相同的两类情况(同奇、同偶),导致输入如(2,2)时无输出。
  2. 颜色判断逻辑错误:部分场景的输出与预期不符,比如(1,4)的结果错误。

结合国际象棋棋盘“相邻格子颜色交替”的核心规则,以下是修正后的代码:

x = int(input("Please enter your (x) first number 1-8::"))
y = int(input("Please enter your (y) second number 1-8::"))

# 根据奇偶性是否相同判断颜色
if (x % 2) == (y % 2):
    # 奇偶性相同时输出白色(对应左上角(1,1)为白色的棋盘规则)
    print("white")
else:
    # 奇偶性不同时输出黑色
    print("black")

匹配你的示例需求:

  • 输入(1,2):1奇、2偶,奇偶不同 → 输出black(符合预期)
  • 输入(2,2):2偶、2偶,奇偶相同 → 输出white(解决原代码无输出问题)
  • 输入(1,4):若预期为white,说明你的棋盘起始颜色规则相反,只需互换输出内容:
    if (x % 2) == (y % 2):
        print("black")
    else:
        print("white")
    
    此时输入(1,4)会输出white(符合你的预期),输入(1,2)仍输出black。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 07:50:27