Python matrici

In Python è possibile creare delle matrici utilizzando due semplici cicli for, oppure è possibile utilizzare semplicemente la libreria Numpy.

In questa lezione creeremo delle matrici utilizzando le istruzioni iterative, più avanti vedremo l’utilizzo di Numpy.

Python matrici – primo esercizio

In questo primo esercizio utilizziamo un doppio ciclo for per creare delle matrici con dei numeri random.

In particolare creeremo una matrice 3 x 3, ma poi generalizzeremo l’algoritmo creando matrici di dimensione personalizzata.

Innanzitutto, siccome devo generare dei numeri random, importo il modulo random ed in particolare randint.

Dopo, creo una lista vuota e con il primo ciclo for scorro tutte le righe. Per ogni riga utilizza un altro ciclo for e genero una lista di 3 numeri random. Alla fine del ciclo più interno utilizzo il metodo append di Python per appendere la lista generata alla matrice di partenza.

Ecco dunque una possibile soluzione per creare in Python delle matrici:


from random import randint

matrix = []

for i in range(3):
    n = []
    for j in range(3):
        number = randint(1,100)
        n.insert(i,number)

    matrix.append(n)


print(matrix)

Possiamo popolare una matrice con un ciclo while, ma non è la soluzione ottimale. Ricordiamo infatti che quando sappiamo esattamente quante volte deve essere eseguito un ciclo si utilizza il for. Il while si utilizza invece quando devo soddisfare una condizione.


from random import randint
matrix = []
i=0
while i < 3:
    j = 0
    n = []
    while j < 3:
        number = randint(1,100)
        n.insert(i,number)
        j = j+1
    matrix.append(n)
    i = i+1
print(matrix)

Creiamo adesso una funzione per generare una matrice.


from random import randint

def matrix(x,y):
    matrix = []
    
    for i in range(x):
        n = []

        for j in range(y):
            number = randint(1,100)
            n.insert(i,number)

        matrix.append(n)

    return matrix
    

print(matrix(3,3))

In questo modo possiamo generare delle matrici di qualsiasi dimensione.

Python matrici – secondo esercizio

Chiediamo in input all’utente la dimensione della matrice da generare.


from random import randint

def matrix(x,y):
    matrix = []
    
    for i in range(x):
        n = []

        for j in range(y):
            number = randint(1,100)
            n.insert(i,number)

        matrix.append(n)

    return matrix

x = int(input('inserisci la dimensione x della matrice '))
y = int(input('inserisci la dimensione y della matrice '))

print(matrix(x,y))

Proviamo il codice appena generato nel compilatore sotto:

In questa lezione su Python abbiamo sviluppato delle matrici utilizzando semplicemente un doppio ciclo for. Nelle prossime lezioni studieremo Numpy.

Alcuni link utili

Indice tutorial Python

  1. Funzioni
  2. Come chiamare una funzione
  3. Convertitore da decimale a binario e ottale
  4. Il fattoriale di un numero in Python
  5. Python open()
  6. Scrivere in un file con il metodo write()
  7. Memorizzare dati di input in un file di testo
  8. Python readline()

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *