Forum >> Principianti >> Programma con Matrice!! Aiuto :(

Pagina: 1

Buongiorno ragazzi, ho un piccolo problema con un esercizio sulle matrici. L'esercizio è il seguente:

Data una matrice M scrivere un programma che restituisce true se all'interno ella matrice vi è una colonna di elementi tutti nulli.

Io l'ho svolto cosi, dando per scontato che la matrice sia 3x3:

def Verifica(M):
    for j in range (0, len(M[ 0 ])):
        i=0
        if M[ i ][ j ] == M[ i+1 ][ j ] == M[ i+2 ][ j ] == 0:
            return True
    return False

print(Verifica(M))

Effettivamente eseguendo il programma non ci sono problemi, è corretto! Ma nel caso in cui la matrice non sia 3x3 bensì una matrice generica, come devo modificare la condizione dell'if?

Grazie a chi mi aiuterà!



--- Ultima modifica di ㎝ in data 2017-06-08 12:07:33 ---
Effettivamente eseguendo il programma non ci sono problemi, è corretto! Ma nel caso in cui la matrice non sia 3x3 bensì una matrice generica, come devo modificare la condizione dell'if?
Ad esempio con:

>>> def verifica(M):
...     return not all(any(x) for x in zip(*M))  # magic transpose  ;)
... 
>>> Mf = [[ 0, 0, 0 ], [ 1, 1, 1 ], [ 2, 2, 2 ]]
>>> Mt = [[ 0, 0, 0 ], [ 1, 1, 0 ], [ 2, 2, 0 ]]
>>> verifica(Mf)
False
>>> verifica(Mt)
True
>>> 
>>> Mf = [[ 0, 0, 0 ], [ 1, 1, 1 ], [ 2, 2, 2 ], [ 3, 3, 3 ]]
>>> Mt = [[ 0, 0, 0 ], [ 1, 1, 0 ], [ 2, 2, 0 ], [ 3, 3, 0 ]]
>>> verifica(Mf)
False
>>> verifica(Mt)
True

Ciao,


PS: grazie alla funzione Conceal di Vim, quella funzione a me appare come da immagine allegata :P
THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
Allegati
Ciao, grazie mille per la tua risposta!

Non ho studiato la funzione zip :confused:

Cosa fa in particolare questa funzine?


Pagina: 1



Esegui il login per scrivere una risposta.