da Cristina | Ott 9, 2019 | Python
In questa lezione proviamo ad implementare un semplice programma sul triangolo in Python, in modo da approfondire l’uso delle istruzioni condizionali.
Prendiamo in input tre numeri e verifichiamo se possono rappresentare la lunghezza dei tre lati di un triangolo. Dopo determiniamo se il triangolo avente come lati le lunghezze indicate è equilatero, isoscele o scaleno.
Questo stesso problema lo abbiamo implementato anche in Scratch: triangoli con Scratch e con Algobuild: triangoli con algobuild. Pure in linguaggio C abbiamo proposto una possibile soluzione: triangoli in C.
Implementazione del programma sul triangolo in Python
Innanzitutto prendiamo in input i tre lati e li memorizziamo nelle variabili lato1, lato2 e lato3.
Dopo controlliamo queste condizioni:
lato1<lato2+lato3
lato2<lato1+lato3
lato3<lato2+lato1
Se sono verificate tutte e tre procediamo con il controllo sull’uguaglianza dei lati, altrimenti visualizziamo in output un messaggio che avvisa l’utente che i dati inseriti non possono rappresentare i lati di un triangolo.
Dunque se possono essere i lati di un triangolo, possiamo subito verificare se sono tutti e tre uguali (triangolo equilatero) oppure se almeno due sono uguali (triangolo isoscele) o se sono tutti diversi (triangolo scaleno).
Ecco dunque il codice completo:
print(‘Ciao, oggi realizzeremo un piccolo programma sui triangoli’)
lato1=int(input(‘Inserisci il primo lato di un triangolo: ‘))
lato2=int(input(‘Inserisci il secondo lato di un triangolo: ‘))
lato3=int(input(‘Inserisci il terzo lato di un triangolo: ‘))
if lato1<lato2+lato3 and lato2<lato1+lato3 and lato3<lato2+lato1:
if lato1==lato2 and lato2==lato3:
print(‘Il triangolo è equilatero’)
elif lato1==lato2 or lato2==lato3 or lato3==lato1:
print(‘Il triangolo è isoscele’)
else:
print(‘Il triangolo è scaleno’)
else:
print(‘I lati inseriti non possono essere quelli di un triangolo’)
Questo mostrato è solo un semplicissimo programma sul triangolo in Python che permette di approfondire l’uso delle istruzioni condizionali e degli operatori logici.
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Stringhe
5 – Casting
6 – Input e print
7 – Primi esercizi in Python
8 – Errori in Python
9 – Script Python
10 – Scambio di variabili
da Cristina | Ott 9, 2019 | Python
Vogliamo sviluppare il gioco della morra cinese in Python, conosciuto anche come carta, forbice o sasso.
Ci siamo divertiti a creare questo gioco anche con Scratch. Chi vuole può dunque consultare la guida al link: morra cinese con Scratch.
Come si gioca
Innanzitutto ricordiamo le regole del gioco!
In questo gioco ci sono due giocatori e ciascuno può quindi scegliere un oggetto: forbice (f), sasso (s) o carta (c).
Sasso si rappresenta con la mano a pugno;
Carta si rappresenta con la mano aperta;
Forbice invece si rappresenta con soli indice e medio distesi.
Dunque chi vince? È piuttosto semplice:
Il sasso batte la forbice (cioè la rompe);
La forbice batte la carta (cioè la taglia);
La carta batte il sasso (cioè lo avvolge).
Se si sceglie lo stesso oggetto allora il punteggio è pari.
Implementazione della morra cinese in Python
Innanzitutto facciamo giocare il computer e per questo utilizziamo il metodo randint(), che genera un numero random intero in un intervallo specificato tra le parentesi tonde.
Ad esempio randint(0,2) genera un numero random tra 0 e 2.
Adesso pensiamo di associare arbitrariamente:
0 a sasso;
1 a forbice;
2 a carta;
Chiaramente potevamo decidere diversamente!
Quindi impostiamo queste condizioni, solo per rendere più facile fare il controllo successivamente:
if computer==0: computer=‘s’
elif computer==1: computer=‘f’
else: computer=‘c’
All’utente facciamo quindi decidere cosa scegliere inserendo un valore: c, s oppure f.
utente=input(‘Inserisci c per carta, s per sasso ed f per forbice: ‘)
Dopo facciamo i controlli in base alle regole spiegate sopra.
Ecco dunque una possibile implementazione del gioco della morra cinese in python:
import random
print(‘Ciao, oggi giochiamo a morra cinese’)
computer=random.randint(0,2)
if computer==0: computer=‘s’
elif computer==1: computer=‘f’
else: computer=‘c’
utente=input(‘Inserisci c per carta, s per sasso ed f per forbice: ‘)
if utente!=‘s’ and utente!=‘f’ and utente!=‘c’:
print(‘La lettera non corrisponde a nulla’)
elif utente==computer:
print(‘parità!’)
elif utente==‘s’ and computer==‘f’ or utente==‘f’ and computer==‘c’ or utente==‘c’ and computer==‘s’:
print(‘Hai vinto!’)
else:
print(‘Ha vinto il computer!’)
N. B. Nel caso della parità, al posto di
elif utente==’s’ and computer==’s’ or utente==’c’ and computer==’c’ or utente==’f’ and computer==’f’:
potremmo semplificare e scrivere:
elif utente==computer:
Quando affronteremo le liste proporrò un’altra possibile soluzione al gioco della morra cinese in Python.
Alcuni link utili
Indice tutorial sul linguaggio Python
1 – Introduzione al linguaggio Python
2 – Le variabili
3 – Operatori aritmetici e di assegnazione
4 – Stringhe
5 – Casting
6 – Input e print
7 – Primi esercizi in Python
8 – Errori in Python
9 – Script Python
10 – Scambio di variabili