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

所以我的问题是我试图制作一个宽度和高度相等的嵌套列表,其中填充了 1 到 100 之间的随机整数。


我的代码是:


我的错误是 int 类型不可用于类似输出 += ......


我会以错误的方式解决这个问题吗?或者我错过了什么?


谢谢!


import random


def 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()


慕桂英4014372
浏览 140回答 3
3回答

江户川乱折腾

列表推导式是你的朋友: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

湖上湖

也许你在寻找:from random import randintn= 4rand_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]]

侃侃无极

一个简单的选择是使用 numpy 的随机整数函数,所以import numpy as npdef generateRandomGrid(n):    return np.random.randint(1,101,(n,n)).tolist()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python