所以我的问题是我试图制作一个宽度和高度相等的嵌套列表,其中填充了 1 到 100 之间的随机整数。我的代码是:我的错误是 int 类型不可用于类似输出 += ......我会以错误的方式解决这个问题吗?或者我错过了什么?谢谢!import randomdef generateRandomGrid(n): randomList = [] for i in range(n) : randomList.append(random.randint(1,100)) for i in range(n): output=random.randint(1,100) for j in range(n): output+= str(randomList[i][j]) + random.randint(1,100) print(output)def main() : print(generateRandomGrid(5))main()
3 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
列表推导式是你的朋友:
grid = [[randint(1, 100) for _ in range(100)] for _ in range(100)]
成函数:
def generate_random_grid(n): return [[randint(1, 100) for _ in range(n)] for _ in range(n)]
更优雅:
def generate_random_grid(size, min=1, max=100): return [[randint(min, max) for _ in range(size)] for _ in range(size)]
注意: 如果使用Python 2.7或以上变更range
为xrange
湖上湖
TA贡献2003条经验 获得超2个赞
也许你在寻找:
from random import randint
n= 4
rand_matrix = [ [ randint(0, 100) for none in range(n)] for none in range(n)]
print(rand_matrix)
#=> [[49, 29, 15, 52], [6, 34, 19, 99], [91, 29, 83, 60], [13, 32, 95, 81]]
侃侃无极
TA贡献2051条经验 获得超10个赞
一个简单的选择是使用 numpy 的随机整数函数,所以
import numpy as np
def generateRandomGrid(n):
return np.random.randint(1,101,(n,n)).tolist()
添加回答
举报
0/150
提交
取消