hola les traigo haber si me pueden ayudar con un simple paso que no me sale en un trabajo, lo unico que no me sale de lo siguiente es el paso 8 y 9, lo demas me sale
este es el trabajo:
Paso 1: ingrese por consola la cantidad de filas fil de un arreglo cuadrado
# veifique que el valor sea mayor que 5 y menor que 17, si ello
# no ocurre pedir hasta que cumpla con la condicion.
# Paso 2: construir una lista con los dos primeros terminos de Fibonacci
# y mostrar por consola
# Paso 3: extender la lista con numeros de Fibonacci hasta que la cantidad
# de elementos sea igual a fil+5
# Paso 4: mostrar por consola la lista extendida
# Paso 5: eliminar de la lista los primeros 5 elementos y mostrar por
# consola la lista recortada
# Paso 6: crear un arreglo de fil filas y fil columnas inicializado en 0
# Paso 7: poner sobre la diagonal principal los elementos de la lista
# recortada de Fibonacci y mostrar por consola
# Paso 8: rellenar la matriz a partir de la diagonal principal con el
# siguientes criterios:
# M[i][i+1]= M[i][i]-2, M[i][i+2]= M[i][i+1]-2 (a la derecha)
# M[i][i-1]= M[i][i]+2, M[i][i-2]= M[i][i-1]22 (a la izquierda)
# Paso 9: muestre sobre consola la matriz rellenada
# Paso 10:sume todos los elementos impares del arreglo y muestrelo en consola
# Paso 11:cuente todos los elementos pares del arreglo y muestrelo en consola
y este es mi codigo hasta ahora
Código Python:
Ver originaldef numeros_impares(matriz):
sumatorio = 0
for i in range(len(matriz)):
for j in range(len(matriz[0])):
if matriz[i][j] % 2 != 0:
sumatorio += matriz[i][j]
return sumatorio
def numeros_pares(matriz):
sumatorio = 0
for i in range(len(matriz)):
for j in range(len(matriz[0])):
if matriz[i][j] % 2 == 0:
sumatorio += matriz[i][j]
return sumatorio
fil = int(raw_input("dame el numero de filas:"))
while fil <= 5 or fil >= 17:
fil =int(raw_input("Ingresar nro. de filas Matriz cuadrada (entre >5 y <17):"))
lis = [1,1]
print lis
lis.append(2)
f1 = 1
f2 = 2
for i in range(3,fil+5):
f = f1 + f2
f1 = f2
f2 = f
lis.append(f)
print lis
nueva = lis[5:]
print nueva
mat = []
for i in range(fil):
mat.append([0]*fil)
for i in range(fil):
for j in range(fil):
if j == i:
mat[i][j] =nueva[i]
print mat
repito por las dudas lo unico que no me sale son los pasos 8 y nueve, espero que alguno se de cuenta de como hacerlo, muchas gracias