Esercizi.
Data una matrice quadrata n x n, scrivere una funzione che calcoli la somma di tutti gli elementi appartenenti alle due diagonali principali (la diagonale principale e quella secondaria), ma sommi solo gli elementi pari della diagonale principale e quelli dispari della diagonale secondaria.
Esempio:
matrice = [
[2, 4, 7],
[3, 1, 3],
[2, 2, 4]
]
La diagonale principale è: [2, 1, 4]
La diagonale secondaria è: [7, 1, 2]
Somma elementi (solo i pari) della principale: 2 + 4 = 6
Somma elementi (solo i dispari) della secondaria: 7 + 1 = 8
Risultato finale: 6 + 8 = 14
Data una matrice n x m, scrivere una funzione che restituisca la matrice trasposta m x n. La trasposta di una matrice si calcola scambiando le righe con le colonne, quindi la riga 0 diventa la colonna 0 della prima matrice, la riga 1 la colonna 1, ecc.
Esempio:
matrice = [
[2, 4, 7],
[3, 1, 3]
]
La matrice trasposta è
matrice_trasposta = [
[2, 3],
[4, 1],
[7, 3]
]
Data una matrice n x n che rappresenta una griglia, dove ogni cella contiene 0 per una cella libera e 1 per una cella con ostacolo, scrivere una funzione che restituisca True se esiste un percorso dalla cella in alto a sinistra (0, 0) alla cella in basso a destra (n-1, n-1), False altrimenti. È possibile muoversi solo in orizzontale o verticale (non in diagonale) e si può assumere che in posizione (0, 0) ci sia sempre uno 0.
Esempio:
matrice = [
[0, 0, 1, 0],
[1, 0, 1, 0],
[0, 0, 0, 0],
[1, 1, 0, 0]
]
La funzione deve restituire True perché è possibile seguire il seguente percorso: (0,0), (0,1), (1,0), (2,1), (2,2), (3,2), (3,3).
Clicca qui per vedere le soluzioni!