Esercitazione di tutoraggio
7
Esercizi (Sui file):
Esercizio IL DIARIO SEGRETO:
Vogliamo realizzare un diario segreto.
La prima volta che l'utente usa il programma deve inserire una password.
La password deve essere formata solo da lettere minuscole o l'underscore e non dev'essere più lunga di 5 caratteri.
Da questo momento in poi l'utente potrà usare il suo diario.
Quando l'utente decide di utilizzare il diario:
-gli viene mostrato il contenuto fino ad allora inserito
-può inserire del contenuto che verrà memorizzato nel diario
-smetterà di inserire contenuto inserendo solo la parola “fine”
Per poter utilizzare il diario dovrà prima effettuare il login.
Per effettuare il login dovrà richiamare la funzione login sotto mostrata passandogli come parametro la password
segreta. La funzione di login deve essere fatta cosi:
-deve chiamarsi login
-deve prendere in input un parametro che conterrà la password inserita dall'utente per effettuare il login
-deve rendere True se la password inserita è quella segreta, False altrimenti
Tutti sanno che la funzione di login deve essere fatta in questo modo.
Abbiamo creato il diario segreto.
Ora supponiamo di voler scoprire la password segreta dell'utente che ignaro lo utilizza.
Crea una funzione “attacco_dal_dizionario” che avendo a disposizione un file “dizionario.txt” che contiene numerose
parole del dizionario italiano ti restituisce la password segreta dell'utente.
(scaricare quello all'indirizzo http://coding.napolux.com/post/42114980272/ruzzle-lista-parole-italiane o crearne uno di
esempio)
Se non ci interessasse scoprire la password segreta ma solo effettuare il login ci servirebbe una funzione?
Creare una funzione che crei tutte le possibili password di 5 lettere.
Esercizi (Sulle liste):
Esercizio GIOCO_DI_CARTE:
Creiamo un gioco di carte per due giocatori.
I due giocatori a turno pescano una carta.
Se hanno nel mazzo una carta con un valore più alto di quella pescata:
-gettano quella carta dal loro mazzo
-acquisiscono un punteggio pari a quello della carta pescata
Vince chi per primo riesce a terminare tutte le carte del suo mazzo
Data una lista che rappresenta un mazzo di carte:
mazzo_di_carte = ['1','2', '3','4','5','6','7','8','9 ','10','J' , 'Q' , 'K']
-Prendere in input il numero di carte che si vuole vengano distribuite ad ognuno dei due giocatori.
-Fare una funzione “genera_mazzo_giocatore” che prende in input il mazzo di carte e il numero di carte di cui deve
essere composto il mazzo generato e restituisca in output il mazzo di carte generato
-Fare una funzione che passatagli una carta ne restituisca il valore contando che:
-il K vale 13; Q vale 12; J vale 11 mentre le altre carte numeriche hanno un valore pari al numero che mostrano
-Creare una funzione “punteggio_maggiore_di_carta” che prende in input una carta e un mazzo di carte e restituisce:
“nessuna” se nel mazzo di carte non c'è nessuna carta con punteggio maggiore di carta e l'idx di una delle carte maggiori
di “carta” altrimenti
-Creare una funzione “elimina_elemento” che dato il mazzo di un giocatore e l'idx di una carta elimini tale carta dal mazzo
Utilizzare le funzioni create per creare il gioco e stampare a schermo chi tra i due giocatori ha vinto una partita
(Ricordatevi che per sapere se funziona dovete capire cosa accade ad ogni passaggio, quindi può essere utile ad
esempio stampare il mazzo in possesso di ogni giocatore ogni volta che egli scarta una delle sue carte)
Scarica

testo