Forum >> Principianti >> Esame in vista :(

Pagina: 1

Buongiorno ragazzi, sono appena sbarcata su questo forum.

Vi espongo il mio problema:

data una matrice m, scrivere un programma in python che restituisca true nel caso ci sia una colonna che contenga tutti elementi pari.

Io ho cercato di risolvere questo esercizio nel seguente modo:

def verifica(m):
    for j in range(0,len(m[ 0 ])):
        for i in range (0, len(m)):
            if m[ j ]%2==0:
                i+=1
        return True
    return False 
m=[[1,2,3,0],[1,2,3,0],[1,2,3,0],[1,2,3,9]]
print(verifica(m))





però non riesco a capire cosa sbaglio :(. Qualcuno è così gentile da spiegarmelo?

Non abbiamo fatto uno studio approfondito di python, quindi abbiamo fatto solo pochissime funzioni ;(

Grazie a chi mi aiuterà, anch eperchè fra pochi giorni ho l'esameee :segreto:


--- Ultima modifica di ㎝ in data 2017-06-12 17:09:46 ---
Ciao, hai dato un'occhiata a questo messaggio?

Credo faccia al caso tuo, in bocca al lupo per l'esame.

Cya

P.S. Per curiosità, di che esame si tratta?
Ciao stella_fe.

Vedi la mia risposta a Benni in questo thread:
http://www.python.it/forum/thread/2232/programma-con-matrice-aiuto/

Con list(zip(*m)) ottieni la matrice trasposta:

>>> m=[[1,2,3,0],[1,2,3,0],[1,2,3,0],[1,2,3,9]] 
>>> mt=list(zip(*m))
>>> mt
[(1, 1, 1, 1), (2, 2, 2, 2), (3, 3, 3, 3), (0, 0, 0, 9)]

È sufficiente che verifichi che esista almeno un elemento di mt in cui i valori sono tutti pari

>>> [all(i % 2 == 0 for i in j) for j in mt]
[False, True, False, False]

Auguri per il tuo esame! :batti5:


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. -- ㎝


Pagina: 1



Esegui il login per scrivere una risposta.