打印一个方形点阵板

-4 投票
4 回答
1438 浏览
提问于 2025-04-16 18:12

我需要写一个Python程序,来打印一个由点组成的方形棋盘。棋盘的大小由用户输入(范围在2x2到9x9之间),比如4x4的棋盘是这样的:

. . . .
. . . .
. . . .
. . . .

这个程序会询问用户一个2到9之间的整数值,然后打印出这个棋盘。比如,用户输入棋盘大小时可以输入4。

4 个回答

0

这是一个非常具有挑战性的问题。

w,x,h=raw_input("board_size?")
exec"print'. '*int(w);"*int(h)

这可能是最简单直接的解决方法。

0

这里是用生成器表达式给出的答案。在这个情况下,它和使用列表推导式基本上是一样的,只不过它的工作量翻倍,但仍然算是半个Python风格。其实没必要搞得这么复杂,但我硬是让它变得这么糟糕。除了完全难以阅读和设计上不够简洁之外,你可能会因为这个程序而获得很高的分数!

sz = 4
line_gen = (((' ' for i in range(sz)), ('.' for i in range(sz))) for i in range(sz))
for line in line_gen:
    print(''.join((space.join((dot for dot in line[0])) for space in line[1])))
1

我会告诉你的老师你是从哪里得到这个的:

(w, h) = [int(i) for i in raw_input().split('x')]
print (". "*w + "\n") * h

撰写回答