打印一个方形点阵板
我需要写一个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