运行此代码时,如果m [x] [i]> mini,则显示该行中的“ TypeError:'NoneType'对象不可下标”: 而且我不知道为什么。 我通过X(x = 0)并在t中使用i 随机导入
def llenarmatriz(m, filas, columnas):
for i in range(filas):
m.append([0] * columnas)
for i in range(filas):
for j in range(columnas):
m[i][j] = random.randint(0, 99)
for i in range(filas):
for j in range(columnas):
print("%3d" % m[i][j], end="")
print()
def procesarmatrizfila(m, filas, columnas, x):
maxi = 10000000000000
mini = maxi * -1
for i in range(columnas):
if m[x][i] > mini:
mini = m[x][i]
fm = i
for i in range(filas):
if m[i][x] <= maxi:
maxi = m[i][x]
fmin = i
return mini, fm, maxi, fmin
m = []
n = int(input("Igresar numero: "))
columnas = filas = n
m = llenarmatriz(m, filas, columnas)
x = 0
while x < filas:
mini, fm, maxi, fmin = procesarmatrizfila(m, filas, columnas, x)
print("Fila numero: %d" % x)
print("el valor maximo es: %d y esta en la posicion: %d %d" % (mini, x, fm))
print("el valor minimo es: %d y esta en la posicion: %d %d" % (maxi, x, fmin))
x = x + 1
答案 0 :(得分:0)
m = llenarmatriz(m, filas, columnas)
在这里您不从函数返回任何内容,因此m变为nonetype 解决此错误
def llenarmatriz(m, filas, columnas):
for i in range(filas):
m.append([0] * columnas)
for i in range(filas):
for j in range(columnas):
m[i][j] = random.randint(0, 99)
for i in range(filas):
for j in range(columnas):
print("%3d" % m[i][j], end="")
print()
return m