Cicli while 2 - Challenges

Scarica zip esercizi

Naviga file online

Proponiamo ora degli esercizi senza soluzione, accetti la sfida?

Sfida - Se magna

✪✪ Requisiti: if, while

C’è una festa post-esame, e siamo affamati. Bisogna servire dei panini con hamburger. Abbiamo un certo numero di panini e dei burgers, non necessariamente nella stessa quantità. Dovremo servire panini fino a quando o il pane o i burger finiscono. Alla fine avviseremo se sono avanzati ingredienti.

Scrivi del codice che MODIFICA l’input e STAMPA dettagliatamente la procedura eseguita.

Esempio:

panini, burgers = 3, 5

stampa:

Servito un panino: 2 panini rimanenti, 4 burger rimanenti
Servito un panino: 1 panini rimanenti, 3 burger rimanenti
Servito un panino: 0 panini rimanenti, 2 burger rimanenti
Avanzano 2 burger.
[1]:

panini, burgers = 3, 5 # Servito bla bla... alla fine stampa 'Avanzano 2 burger.' #panini, burgers = 9,3 # Servito bla bla... alla fine stampa 'Avanzano 6 panini.' #panini, burgers = 4,4 # Servito bla bla... alla fine stampa 'credenza vuota!' # scrivi qui

Sfida - Il Dungeon

✪✪✪ Requisiti: while, if, liste

Un cavaliere si inoltra in una caverna alla ricerca di oggetti preziosi. Appena trova quello che sta cercando, esulta e torna indietro.

Rappresentiamo la caverna come una lista di stringhe. L’oggetto da cercare è indicato nella variabile cerco.

Scrivi del codice che date le voci STAMPA il percorso.

  • USA un while

  • NON USARE break !!

  • NON USARE metodi di ricerca come .index o count

Esempio 1 - Dati:

cerco = 'il tesoro'
caverna = ['un masso','una trappola','delle spade',
           'il tesoro','una ragnatela', 'un boleto delle tombe']

stampa:

Entro
Vedo un masso
Vedo una trappola
Vedo delle spade
Che fortuna! Ho trovato il tesoro
Torno indietro!
Vedo delle spade
Vedo una trappola
Vedo un masso
Esco

Esempio 2: Una lista può anche non contenere l’oggetto cercato, in tal caso bisognerà mostrare un messaggio apposito. Per es, dati:

cerco = 'il talismano del potere'
caverna = ['una trappola','un boleto delle tombe','una ragnatela']

stampa:

Entro
Vedo una trappola
Vedo un boleto delle tombe
Vedo una ragnatela
Purtroppo il talismano del potere non c'è
Torno indietro!
Vedo una ragnatela
Vedo un boleto delle tombe
Vedo una trappola
Esco
[2]:

cerco,caverna='il tesoro', ['un masso','una trappola','delle spade','il tesoro','una ragnatela','un boleto delle tombe'] #cerco,caverna = 'il talismano del potere', ['una trappola','un boleto delle tombe','una ragnatela'] #cerco, caverna = 'la corona di rubini', [] # funziona anche in questi casi particolari? #cerco, caverna = 'la corona di rubini', ['la corona di rubini'] # #cerco, caverna = 'la corona di rubini', ['il martello di granito'] # # scrivi qui

Sfida - Trivellum

✪✪ La compagnia mineraria Trivellum ha scoperto un pozzo di cobalto. Nel pozzo si trovano diversi strati, ognuno contenente una lega di diversa composizione: una volta trivellato, lo strato viene suddiviso in blocchi che vengono poi issati su un carrello per il successivo trasporto.

Scrivi del codice che MODIFICA la variabile pozzo togliendo gli strati, e MODIFICA la variabile carrello aggiungendo i vari blocchi scavati.

  • USA un ciclo while

  • STAMPA i vari passaggi

  • NON riassegnare pozzocarrello (quindi niente pozzo = ... o carrello = ...)

Esempio - dati:

pozzo = ['███','▓▓▓','▒▒▒', '░░░']    # <-- cima del pozzo
carrello = []

Il tuo programma deve stampare:

il pozzo è: ['███', '▓▓▓', '▒▒▒', '░░░']
Trivello lo strato ░░░ e lo divido nei blocchi ['░', '░', '░']

il pozzo è: ['███', '▓▓▓', '▒▒▒']
Trivello lo strato ▒▒▒ e lo divido nei blocchi ['▒', '▒', '▒']

il pozzo è: ['███', '▓▓▓']
Trivello lo strato ▓▓▓ e lo divido nei blocchi ['▓', '▓', '▓']

il pozzo è: ['███']
Trivello lo strato ███ e lo divido nei blocchi ['█', '█', '█']

Il pozzo finale è   : []
Il carrello finale è: ['░', '░', '░', '▒', '▒', '▒', '▓', '▓', '▓', '█', '█', '█']
[3]:

carrello = [] pozzo = ['███','▓▓▓','▒▒▒', '░░░'] # <-- cima del pozzo #pozzo = ['┼┼','┤├','┐┌', '╗╔', '║║'] # ['║', '║', '╗', '╔', '┐', '┌', '┤', '├', '┼', '┼'] # scrivi qui