为了账号安全,请及时绑定邮箱和手机立即绑定

通过“n”生成网格/嵌套列表“n”

通过“n”生成网格/嵌套列表“n”

慕桂英4014372 2021-08-17 10:38:54
所以我的问题是我试图制作一个宽度和高度相等的嵌套列表,其中填充了 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或以上变更rangexrange


查看完整回答
反对 回复 2021-08-17
?
湖上湖

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]]


查看完整回答
反对 回复 2021-08-17
?
侃侃无极

TA贡献2051条经验 获得超10个赞

一个简单的选择是使用 numpy 的随机整数函数,所以


import numpy as np

def generateRandomGrid(n):

    return np.random.randint(1,101,(n,n)).tolist()


查看完整回答
反对 回复 2021-08-17
  • 3 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信