所以我非常沮丧,因为我非常精通Java,所以我无法想象这个看似微不足道的东西,但无论如何,我的Python教授为我们分配了一个我们拥有的实验室。使用基于行和列位置的字母创建模式。没有循环或迭代,只是条件语句。
例如,这个函数:
def letter(row, col):
if row>col:
return 'T'
else:
return 'W'
会产生:
WWWWWWWWWWWWWWWWWWWW
TWWWWWWWWWWWWWWWWWWW
TTWWWWWWWWWWWWWWWWWW
TTTWWWWWWWWWWWWWWWWW
TTTTWWWWWWWWWWWWWWWW
TTTTTWWWWWWWWWWWWWWW
TTTTTTWWWWWWWWWWWWWW
TTTTTTTWWWWWWWWWWWWW
TTTTTTTTWWWWWWWWWWWW
TTTTTTTTTWWWWWWWWWWW
TTTTTTTTTTWWWWWWWWWW
TTTTTTTTTTTWWWWWWWWW
TTTTTTTTTTTTWWWWWWWW
TTTTTTTTTTTTTWWWWWWW
TTTTTTTTTTTTTTWWWWWW
TTTTTTTTTTTTTTTWWWWW
TTTTTTTTTTTTTTTTWWWW
TTTTTTTTTTTTTTTTTWWW
TTTTTTTTTTTTTTTTTTWW
TTTTTTTTTTTTTTTTTTTW
如果通过他的驱动文件运行,行和col都等于20。
我坚持使用的是为模式创建一个函数:
XOOOOOX
OXOOOXO
OOXOXOO
OOOXOOO
OOXOXOO
OXOOOXO
XOOOOOX
请不要用勺子给我答案,而是指向正确的方向。
到目前为止,我知道当row == col时,可以识别左 - 右;右对角线的X&。它是正确的 - >左对角线我遇到了问题。
非常感谢。
答案 0 :(得分:6)
查看每个X
位置的行和列之间的关系。然后,将这个问题分成两部分:它的一个方面是从左上角到右下角的线,另一个方面是从左下角到右上角的线。
让我们看一下左上角到右下角的X
:
row: column:
1 1
2 2
3 3
4 4
5 5
6 6
7 7
我认为你可以根据它确定行和列之间的关系。
现在另一条线从左下角到右上角如何:
row: column:
1 7
2 6
3 5
4 4
5 3
6 2
7 1
你在这里的温和暗示是" +"。
因此,如果某个元素的行和列的第一个指定关系为or
,那么您可以在其中添加X
。
我希望这是一个适当的帮助。