Forum
>>
Principianti
>>
Esame in vista :(
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da stella_fe ![]() |
2017-06-12 16:44:38 - Esame in vista :(
|
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 ![]() 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 ![]() --- Ultima modifica di ㎝ in data 2017-06-12 17:09:46 --- |
|
Scritto da Daniele aka Palmux ![]() |
2017-06-12 17:17:41 - Re: Esame in vista :(
|
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? |
|
Scritto da ㎝ ![]() |
2017-06-12 17:21:32 - Re: Esame in vista :(
|
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! ![]() ㎝ THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> 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. -- ㎝ |
|
Scritto da Cummerata ![]() |
2025-05-14 15:20:08 - Re: Esame in vista :(
|
Ciao! Tranquilla, stai facendo un buon tentativo! 😊 Ti aiuto molto volentieri.
Hai capito bene l’obiettivo dell’esercizio: verificare se esiste almeno una colonna in cui tutti gli elementi sono numeri pari. Ma nel tuo codice ci sono alcuni problemi logici e di struttura. Ti spiego passo per passo: def verifica(m): for j in range(len(m0)): # Per ogni colonna tutti_pari = True for i in range(len(m)): # Per ogni riga if mj % 2 != 0: # Se l'elemento NON è pari tutti_pari = False break if tutti_pari: return True # Trovata una colonna con tutti pari return False # Nessuna colonna ha tutti numeri pari # Esempio di uso m = [ [1, 2, 3, 0], [1, 2, 3, 0], [1, 2, 3, 0], [1, 2, 3, 9] ] print(verifica(m)) # Output: True (la seconda colonna ha tutti 2)Spero che questo ti sia utile! Se hai bisogno di ulteriore aiuto, non esitare a chiedere. |
Pagina: 1
Esegui il login per scrivere una risposta.