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.


