我是编程中的新手,所以我不是堆栈,而是与这个Python棋盘任务相混淆。 我想我做了一点" overdo"用代码。
所以这是一项任务: 鉴于棋盘的两个单元格。如果它们涂成一种颜色,则打印单词YES,如果是不同的颜色 - NO。 程序接收从1到8的四个数字的输入,每个数字指定列和行号,前两个 - 对于第一个单元格,然后是最后两个 - 对于第二个单元格。
这是我的代码:
h1 = int (input()) #first cell height
w1 = int (input()) #first cell width
h2 = int (input()) #second cell height
w2 = int (input()) #second cell width
#Guessing first cell color
if ((h1 % 2 != 0) and (w1 % 2 != 0)) or ((h1 % 2 == 0) and (w1 % 2 == 0)):
one = str ('black')
else:
one = str ('white')
#Guessing second cell color
if ((h2 % 2 != 0) and (w2 % 2 != 0)) or ((h2 % 2 == 0) and (w2 % 2 == 0)):
two = str ('black')
else:
two = str ('white')
#compare two cells
if one == two:
print ('YES')
else:
print ('NO')
有些东西告诉我它可以比当前版本简单得多。
答案 0 :(得分:-1)
试试这个
h1 = int(input())
w1 = int(input())
h2 = int(input())
w2 = int(input())
def is_same_colour(h1, w1, h2, w2):
if ((h1 + w1) % 2) == ((h2 + w2) % 2):
print('YES')
else:
print('NO')
is_same_colour(h1, w1, h2, w2)
它使用的事实是,当单元格为黑色时,单元格的行和列的总和是偶数,而当单元格为白色时,则为奇数。