Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2021-22 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2021-22 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

VIDEOLEZIONI DEL CORSO DI FONDAMENTI DI PROGRAMMAZIONE AA20-21

PROGRAMMING COURSE VIDEOCONFERENCES AY20-21

Cosa ritorna decodificatore()?

L
LucaStravato (1360 points)
7 31 38
in Es1 by (1.4k points)
closed by
Buonasera, non ho ben capito cosa deve ritornare decodificatore(),  da quello che ho capito deve ritornare il codice del tentativo.

Inoltre se per esempio abbiamo come codice 3,8,9,1 ( facciamo da quattro caratteri, -da quello che ho capito il codice da indovinare viene creato nel simulatore.py) allora la nostra funzione decodificatore cosa deve fare? Dovrebbe generare un codice qualunque da quattro caratteri e ritornarlo?

Poi -configurazione- da quello che dice la traccia è una lista di liste, ma essendo che L è una lista di cui il primo elemento ( L[0] ) è un intero che rappresenta la lunghezza del codice e poi L[ i > 0 ] contiene una tupla composta da due elementi, non riesco a capire come L possa essere una lista di liste.
315 views
closed with the note: answered

2 Answers

split (8700 points)
15 59 79
by (8.7k points)
decodificatore deve toranre un tuo tentativo, uno solo, sottoforma di lista di numeri, ad ogni chiamata viene passata alla tua funzione la lista che ha al primo posto n e poi i vari tentativi con la risposta del "mastermind" accanto, che tu usi per scegliere un nuovo tentativo. quando indovini ti viene fornito un nuovo codice e tutto ricomincia da capo, fino a 150 volte o fino a che non scade il tempo.
andrea.sterbini (173640 points)
516 941 1795
by (174k points)
edited by
Per essere precisi dovete tornare una lista di N interi tra 0 e 9 (se il codice da indovinare ha dimensione N)
split (8700 points)
15 59 79
by (8.7k points)
ma liste di numeri interi però, non di cratteri (cratteri li intendo sempre come stringhe, magari sbaglio io)??
andrea.sterbini (173640 points)
516 941 1795
by (174k points)
sì, scusa, non avevo visto lo int(carattere)
ho corretto il mio commento precedente
GeraldCaba (2920 points)
6 20 28
by (2.9k points)
edited by
La lista è formata in questo modo:

[lunghezza codice,([codice tentativo 0 ],(a0,b0)),([codice tentativo 1],(a1,b1)),([codice tentativo 2],(a2,b2))....fino ad arrivare a 150 ]

all inizio si  parte da 0 tentativi e progressivamente si aggiunge una tupla contenente la lista del tentativo precendete e la tupla dei valori (a,b)
andrea.sterbini (173640 points)
516 941 1795
by (174k points)
edited by
Per essere precisi NON è "fino ad arrivare a 150" ma solo per i tentativi già fatti dal giocatore per decodificare il CODICE CORRENTE.
Per esempio se si è sta facendo il 7° tentativo del 32° codice da 6 cifre contiene
- N = 6
- 6 coppie (tentativo,risposta)
in cui il tentativo è una lista di N interi scelti tra 0 e 9 e la risposta è una coppia (tupla) di interi che indicano i valori a,b oppure b,a (ma non sapete quale dei due)