Topic: Esercizio  (Letto 1177 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Gianluca123

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Esercizio
« il: Agosto 29, 2016, 11:07 »
Salve ragazzi qualcuno potrebbe darmi una mano con questo esercizio.Allego la mia soluzione con spiegazione.

Scrivere una funzione che, date due immagini A e B, verifica se le due immagini hanno almeno k colori diversi in comune. Oltre al codice Python, dare anche una spiegazione sintetica dell'algoritmo adottato.
[codice]
def check(a,b,k):
#param a,b:picture
#param k:intero
 listA=[]
 listB=[]
 for elem in getPixels(a):
   getColor(elem)
   listA.append(elem)
 for elem2 in getPixels(b):
    getColor(elem2)
    listB.append(elem2)
 listC=[]
 for color in listA:
   if color in listB:
      listC.append(color)
 listC=list(set(listC))
 if k==len(listC):
     return True
 else:
     return False[/codice]    
Il modo che ho pensato è questo:Creo due liste vuote che poi andro a riempire con i colori delle rispettive immagini,una volta fatto questo creo una terza lista che contiene i colori sia di a che di b e ne elimino i doppioni.Infine faccio ultimo controllo con K anche se penso sia sbagliato.

Grazie per l'attenzione
« Ultima modifica: Agosto 30, 2016, 12:53 da Gianluca123 »

Offline shinken

  • python erectus
  • ***
  • Post: 206
  • Punti reputazione: 0
    • Mostra profilo
Re: Esercizio
« Risposta #1 il: Agosto 29, 2016, 19:15 »
Ciao
1 per inserie il codice usa l' apposito tastino #
2 ma non sarebbe meglio usare gli insiemi al posto delle liste?

Offline Gianluca123

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Re: Esercizio
« Risposta #2 il: Agosto 29, 2016, 20:07 »
Ciao,insiemi mai trattati a lezione.Intendi tuple?
Grazie

Offline GlennHK

  • python sapiens sapiens
  • ******
  • Post: 1.658
  • Punti reputazione: 1
    • Mostra profilo
    • La Tana di GlennHK
Re: Esercizio
« Risposta #3 il: Agosto 30, 2016, 09:32 »
No, gli insiemi non sono tuple e non vale nemmeno il viceversa.

Le tuple sono elementi appartenenti ad un prodotto cartesiano di domini, gli insiemi sono strutture che non possono contenere duplicati.

Esempi di tuple: (1,2,3), (1,1,2), ("pippo", [1,2,3], (4, "pluto"))
Esempi di insiemi: {1,2,3}, {2,3,4}, {"pippo","pluto"}

Offline Gianluca123

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Re: Esercizio
« Risposta #4 il: Agosto 30, 2016, 09:41 »
Ok e quindi come posso procedere nel caso del mio esercizio?

Offline Giornale di Sistema

  • python sapiens sapiens
  • ******
  • Post: 3.124
  • Punti reputazione: 4
    • Mostra profilo
    • Distillato di Python
Re: Esercizio
« Risposta #5 il: Agosto 30, 2016, 10:57 »
Ok e quindi come posso procedere nel caso del mio esercizio?

Intanto sistemando il codice come ti è stato spiegato:

1 per inserie il codice usa l' apposito tastino #

In altre parole clicca sul pulsante "Modifica" del 1° messaggio e seleziona solo la parte di codice, poi clicchi sul pulsante # che vedi in alto, infine clicca sul pulsante "Salva".
« Ultima modifica: Agosto 30, 2016, 11:02 da Giornale di Sistema »

Offline Gianluca123

  • python unicellularis
  • *
  • Post: 4
  • Punti reputazione: 0
    • Mostra profilo
Re: Esercizio
« Risposta #6 il: Agosto 30, 2016, 12:53 »
Ok fatto