【发布时间】:2015-04-08 08:43:36
【问题描述】:
我对 Python 3 非常陌生,想生成一个随机网格 4x6 数字。 我尝试了各种方法,但最终还是在新行上打印,或者在每一行上打印 4x6 相同的数字等。
一些代码示例(我尝试了很多不同的方法,但我必须重新输入它们,因为我使用的是带有 linux 的 virtualbox 来运行 Python:
import random
def grid_maker(h,v):
for y in range(1, 5):
x = random.randint(1, 100)
grid = [[str(x) for _ in range(v)] for _ in range (h)]
grid[0][0] = "o"
return grid
print ('\n'.join(''.join(row) for row in grid_maker(6,5)))
输出
o85858585
8585858585
8585858585
8585858585
8585858585
8585858585
想要的输出
82 2 30 9
45 65 54 14
23 4 32 42
8 84 40 80
43 23 5 62
23 43 3 5
另一个例子
for t in range(1, 5)
i = random.randint(1, 100)
grid = [[i], [i], [i], [i]]
from pprint import pprint
pprint(grid)
输出
[[100], [100], [100], [100]]
[[1], [1], [1], [1]]
[[80], [80], [80], [80]]
[[12], [12], [12], [12]]
想要的输出
[[34], [12], [2], [15]]
[[64], [34], [53], [4]]
[[35], [34], [61], [33]]
[[34], [55], [64], [23]]
另一个例子
ar = []
for t in range(1, 5):
i = random.randint(1, 100)
ar.append(i)
for t in range(1, 7):
for i in range(1, 5):
print(ar[t-1], end='')
但这会打印出585858585555555559595959343434342222222288888888root@root:/home/user#
谢谢
【问题讨论】:
标签: python python-3.x random numbers