所以,我的想法是,我试图创建一个宽度和高度相等的嵌套列表,其中填充了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()
答案 0 :(得分: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
答案 1 :(得分:0)
如果我的理解正确,那么您需要一个宽度和高度相等的列表。
import random
def generateRandomGrid(n):
randomList = []
for i in range(n) :
num = random.randint(1,100)
randomList.append([num, num])
return randomList
def main() :
print(generateRandomGrid(5))
main()
输出:
[[92, 92], [8, 8], [10, 10], [37, 37], [11, 11]]
答案 2 :(得分:0)
也许您正在寻找:
$null
答案 3 :(得分:0)
一个简单的选择是使用numpy的随机整数函数,因此
import numpy as np
def generateRandomGrid(n):
return np.random.randint(1,101,(n,n)).tolist()