如何修正国际象棋棋盘坐标对应颜色输出的Python程序问题?
修正后的Python代码
原代码存在两个核心问题:
- 仅覆盖两种奇偶组合场景:遗漏了x、y奇偶性相同的两类情况(同奇、同偶),导致输入如(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,说明你的棋盘起始颜色规则相反,只需互换输出内容:
此时输入(1,4)会输出if (x % 2) == (y % 2): print("black") else: print("white")white(符合你的预期),输入(1,2)仍输出black。
内容的提问来源于stack exchange,提问作者Alex mos
相关产品推荐
相关产品推荐

