我需要在python中创建一个程序来打印一个由点组成的方块板。大小由用户输入(在2x2和9x9平方之间),例如4x4 =
. . . .
. . . .
. . . .
. . . .
程序要求用户输入2-9之间的int值并打印板。 例如board_size? 4
答案 0 :(得分:1)
我告诉你的老师你从哪里得到这个:
(w, h) = [int(i) for i in raw_input().split('x')]
print (". "*w + "\n") * h
答案 1 :(得分:0)
这是使用生成器表达式的答案。它基本上与在这种情况下使用列表推导相同,只是它在仍然是半Pythonic的情况下将工作加倍。它真的不需要这样,但我强迫它这么糟糕。除了完全难以阅读并且设计不紧凑之外,您可能会为此计划获得好评!
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])))
答案 2 :(得分:0)
这是一个非常具有挑战性的问题。
w,x,h=raw_input("board_size?")
exec"print'. '*int(w);"*int(h)
可能是最直接的方式。
答案 3 :(得分:-1)
这是你的作业(正方形的大小):
print "\n".join ( [" ".join ( ["." for i in range (s) ] ) for j in range (s) ] )
只需从stdin或用户输入的任何位置扫描尺寸s。