Programma sul triangolo in Python

Programma sul triangolo in Python

In questa lezione proviamo ad implementare un semplice programma sul triangolo in Python per esplorarne le proprietà. Di seguito ecco l’algoritmo che dobbiamo risolvere:

Prendere in input tre numeri e verificare se possono rappresentare la lunghezza dei tre lati di un triangolo. Dopo determare 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

Per iniziare, chiediamo all’utente di inserire le lunghezze dei tre lati del triangolo. Questi valori verranno memorizzati nelle variabili lato1, lato2 e lato3.

Verifica delle condizioni

Successivamente, verifichiamo se le lunghezze inserite soddisfano le condizioni necessarie per formare un triangolo. Utilizziamo le seguenti condizioni:

  • La somma di due lati deve essere maggiore della lunghezza del terzo lato.

Ovvero si deve verificare che:

lato1 < lato2 + lato3
lato2 < lato1 + lato3
lato3 < lato2 + lato1

Dunque, e tutte e tre le condizioni sono verificate, procediamo con la verifica del tipo di triangolo. In caso contrario, avvisiamo l’utente che i valori inseriti non possono rappresentare i lati di un triangolo.

Determinazione del tipo di triangolo

Qundi, se i lati soddisfano le condizioni per formare un triangolo, possiamo procedere con la determinazione del tipo di triangolo:

  • Avremo un triangolo equilatero, se tutti e tre i lati sono uguali .
  • Se almeno due lati sono uguali, ma non tutti e tre, abbiamo un triangolo isoscele.
  • Se invece tutti e tre i lati sono diversi, abbiamo un triangolo scaleno.

Implementazione del programma sul triangolo in Python

Di seguito ecco dunque il codice completo del programma:

print('Benvenuto nel programma sui triangoli!')

lato1 = int(input('Inserisci il primo lato del triangolo: '))
lato2 = int(input('Inserisci il secondo lato del triangolo: '))
lato3 = int(input('Inserisci il terzo lato del triangolo: '))

if lato1 < lato2 + lato3 and lato2 < lato1 + lato3 and lato3 < lato1 + lato2:
    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 formare un triangolo')

Inoltre in Python possiamo semplificare questa istruzione:

if lato1 == lato2 and lato2 == lato3:

scrivendo semplicemente:

if lato1 == lato2 == lato3:


Conclusioni

In questa lezione abbiamo svilutppato un semplice programma sul triangolo in Python che non solo ci permette di esplorare concetti di programmazione come le istruzioni condizionali, ma ci offre anche un’opportunità per comprendere e analizzare le proprietà geometriche dei triangoli. Continuate ad esplorare e sperimentare con Python per ampliare le conoscenze e competenze di programmazione. E non dimenticate di seguire tutti gli articoli del blog!

Alcuni link utili

Corso in diretta su Python

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

In questa lezione sviluppiamo 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.

Nell’ambito della programmazione ludica, la Morra Cinese, nota anche come “carta, forbice, sasso”, si presenta come un gioco coinvolgente. In questa lezione, esploreremo come implementare questo gioco utilizzando il linguaggio Python, offrendo un’esperienza interattiva e stimolante.


Come si gioca

Prima di immergerci nella codifica, è importante comprendere le regole del gioco. In Morra Cinese, due giocatori fanno una scelta tra tre oggetti: forbice (rappresentata dalla mano con indice e medio distesi), sasso (rappresentato da un pugno chiuso) o carta (rappresentata da una mano aperta). Le dinamiche di vittoria sono semplici:

  • Il sasso batte la forbice (la rompe).
  • La forbice batte la carta (la taglia).
  • La carta batte il sasso (lo avvolge).
  • Se entrambi i giocatori scelgono lo stesso oggetto, il risultato è un pareggio.


Implementazione della morra cinese in Python

Passiamo ora alla parte pratica, implementando il gioco utilizzando Python. Inizieremo facendo giocare il computer. Per farlo, useremo la funzione randint() del modulo random, che ci consente di generare un numero casuale tra un intervallo specificato, nel nostro caso tra 0 e 2.

Supponiamo dunque che ci sia questa corrispondenza:

  • il numero 0 corrisponde a sasso;
  • 1 corrisponde a forbice;
  • 2 corrisponde a carta;

Chiaramente è possibile cambiare a piacimento questa corrispondenza. In ogni caso, utilizzare questa assegnazione ci semplifica notevolmente il controllo delle corrispondenze.

Ecco dunque il nostro algoritmo della morra cinese in Python:

import random

print('Benvenuto nella Morra Cinese!')

computer = random.randint(0, 2)

if computer == 0:
    computer_choice = 'sasso'
elif computer == 1:
    computer_choice = 'forbice'
else:
    computer_choice = 'carta'

player_choice = input('Inserisci s per sasso, f per forbice o c per carta: ')

if player_choice not in ['s', 'f', 'c']:
    print('Scelta non valida!')
elif player_choice == computer_choice:
    print('Pareggio!')
elif (player_choice == 's' and computer_choice == 'forbice') or (player_choice == 'f' and computer_choice == 'carta') or (player_choice == 'c' and computer_choice == 'sasso'):
    print('Hai vinto!')
else:
    print('Ha vinto il computer!')

Il seguente algoritmo importa il modulo random per generare numeri i casuali. Quindi uilizza la funzione randint(0, 2) per generare un numero casuale tra 0 e 2.

Dopo associamo il numero generato a una delle opzioni del gioco (sasso, forbice o carta) utilizzando una serie di istruzioni if-elif-else. Quindi chiediamo all’utente di inserire la propria scelta utilizzando le lettere ‘s’, ‘f’ o ‘c’ per rappresentare rispettivamente sasso, forbice o carta.

Controlliamo poi se la scelta del giocatore è valida, ossia se corrisponde a una delle opzioni consentite. Se la scelta non è valida, stampiamo un messaggio di avviso e terminiamo il gioco. Altrimenti, procediamo con la verifica delle scelte.

Se dunque entrambi i giocatori scelgono la stessa opzione, il risultato è un pareggio e stampiamo un messaggio appropriato. Altrimenti, controlliamo le combinazioni possibili di scelte per determinare il vincitore:

  • Se la scelta del giocatore batte la scelta del computer secondo le regole della Morra Cinese, il giocatore vince e stampiamo un messaggio di vittoria.
  • Altrimenti, il computer vince e stampiamo un messaggio appropriato.

Conclusioni

In questa lezione abbiamo sviluppato un algoritmo sulla Morra Cinese in Python. Questo algoritmo utilizza le istruzioni condizionali e il modulo random per implementare in modo efficace le regole del gioco della Morra Cinese. È un esempio pratico di come la programmazione può essere utilizzata per creare giochi divertenti e interattivi.

Continuando a praticare con esercizi come questo, possiamo migliorare le nostre capacità di programmazione e ampliare il nostro bagaglio di conoscenze in Python.

Incoraggio tutti a sperimentare ulteriormente con il codice, apportando modifiche e aggiunte per personalizzare e arricchire l’esperienza di gioco. Il processo di sperimentazione è essenziale per il nostro apprendimento e ci consente di scoprire nuove tecniche e approcci nella programmazione. Continuiamo a esplorare e a divertirci con Python nelle prossime lezioni!

Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!

corsi Python

Alcuni link utili

Corso in diretta su Python

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