【问题标题】:Drawing chess board with nested loops用嵌套循环绘制棋盘
【发布时间】:2020-03-03 20:15:40
【问题描述】:

我有一个我无法弄清楚的 python 任务。我的任务是使用嵌套循环创建一个纯文本棋盘,并在运行时生成以下输出:

a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1

到目前为止我有:

for i in range(8, 0, -1):
    for j in range(8, 0, -1):
        print("a", i, end=" ")
        print("b", j, end="")
 print()

这给出了:

a 8 b 8a 8 b 7a 8 b 6a 8 b 5a 8 b 4a 8 b 3a 8 b 2a 8 b 1
a 7 b 8a 7 b 7a 7 b 6a 7 b 5a 7 b 4a 7 b 3a 7 b 2a 7 b 1
a 6 b 8a 6 b 7a 6 b 6a 6 b 5a 6 b 4a 6 b 3a 6 b 2a 6 b 1
a 5 b 8a 5 b 7a 5 b 6a 5 b 5a 5 b 4a 5 b 3a 5 b 2a 5 b 1
a 4 b 8a 4 b 7a 4 b 6a 4 b 5a 4 b 4a 4 b 3a 4 b 2a 4 b 1
a 3 b 8a 3 b 7a 3 b 6a 3 b 5a 3 b 4a 3 b 3a 3 b 2a 3 b 1
a 2 b 8a 2 b 7a 2 b 6a 2 b 5a 2 b 4a 2 b 3a 2 b 2a 2 b 1
a 1 b 8a 1 b 7a 1 b 6a 1 b 5a 1 b 4a 1 b 3a 1 b 2a 1 b 1

我知道它应该很简单,但我就是想不通。

【问题讨论】:

  • 您需要一个从"a""h" 的循环和一个从18 的循环。你能行的!见this
  • This 可能有助于遍历字母。

标签: python


【解决方案1】:

试试这个

letters = 'abcdefgh'
for i in range(8, 0, -1):
    for letter in letters:
        print(letter + str(i), end = ' ')
    print()

这里的关键是让letters 变量包含从ah 的字母。使用for x in iterable,您可以遍历iterable 拥有的元素。字符串是可迭代的,其中每个项目都是单个字符(在 python 中也是一个长度为 1 的字符串),因此它使迭代结构更容易。如果您想知道,是的,您还可以使用numbers = '87654321' 变量来执行for number in numbers 而不是for i in range(8, 0, -1)。希望这对您将来遇到类似问题有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多