Programma sul triangolo in Python

Programma sul triangolo in 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

Morra cinese in Python

Morra cinese in 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