Laboratorio2 : introduzione al Python
Ricordo:
a**b equivale ad ab
a/b equivale ad a:b
5.2 equivale a 5,2
Primo esercizio:
Proviamo a scrivere un programma che riceve in input due numeri, ne calcola il
quoziente, e stampa a video il risultato.
Primo esercizio:
Proviamo a scrivere un programma che riceve in input due numeri, ne calcola il
quoziente, e stampa a video il risultato.
Soluzione:
num1=input("Inserisci il primo numero: ")
num2=input("Inserisci il secondo numero: ")
quoz=num1/num2
print "La divisione di ", num1, " per ", num2," risulta ",quoz
Primo esercizio:
Questa soluzione però non è proprio giusta...
Provate con i numeri 5 e 2
Inserisci il primo numero: 5
Inserisci il secondo numero: 2
La divisione di 5 per 2 risulta 2
Primo esercizio:
Provate ora con i numeri 5.0 e 2
Inserisci il primo numero: 5.0
Inserisci il secondo numero: 2
La divisione di 5.0 per 2 risulta 2.5
Primo esercizio:
Questo accade perchè 5 e 2 vengono considerati numeri interi (non hanno la
virgola) quindi la divisione che verrà effettuata sarà intera.
Se invece immettiamo 5.0 e 2, 5.0 verrà considerato un numero con la virgola e
python quando deve effettuare delle operazioni che riguardano almeno un numero
con la virgola, effetuerà le operazioni “reali”, cioè in questo esempio utilizzerà la
divisione reale.
Primo esercizio:
Perciò se voglio che la divisione all'interno del mio programma sia la divisione che
ammetta risultato reale dovrò forzare python in questo modo:
num1=input("Inserisci il primo numero: ")
num2=input("Inserisci il secondo numero: ")
quoz=(float) (num1) /num2
print "La divisione di ", num1, " per ", num2," risulta ",quoz
Il che vuol dire considera reale il numero num1, perciò esegui la divisione reale...
Primo esercizio:
A questo punto il programma è corretto???
Non ancora...
Provate con i numeri 3 e 0:
Inserisci il primo numero: 3
Inserisci il secondo numero: 0
Traceback (most recent call last):
File "C:/Users/Alessia/Corsi/Girardi/divisione.py", line 3, in <module>
quoz=(float) (num1) /num2
ZeroDivisionError: float division by zero
Non è possibile la dizione per lo zero!!!!
Primo esercizio:
E allora come facciamo??
Dobbiamo dire all'interprete di eseguire la divisione solo se il secondo numero è
diverso da zero...
Cioè in questo modo modifichiamo l'esecuzione sequenziale dei nostri comandi...
inizio
Inserisci
num1
Questo è il nostro
diagramma del flusso
dell'esecuzione
Inserisci
num2
Dobbiamo modificarlo...
quoz=num1/num2
Stampa
quoz
fine
inizio
Inserisci
num1
Inserisci
num2
Se falso
Adesso l'esecuzione non
sarà più sequenziale...
Se vero
num2=0?
Errore
Divisione per 0
Non ammessa
quoz=num1/num2
Stampa
quoz
fine
Ecco qui la versione finale corretta!!
num1=input("Inserisci il primo numero: ")
num2=input("Inserisci il secondo numero: ")
if num2==0:
print "attenzione non posso effettuare la divisione per
zero!!"
else:
quoz=(float) (num1) /num2
print "La divisione di ", num1, " per ", num2," risulta ",quoz
print "Programma terminato"
Esercizio2
Adesso scriviamo un programma che chiede all'utente il suo nome, il suo cognome e la
sua età, e stampa a video la seguente frase se l'età è >= 18
Ciao nome e cognome, puoi farti la patente della macchina
Altrimenti
Ciao nome e cognome, sei troppo giovane per la patente
Esercizio2
Esempio di esecuzione:
>>>
Inserisci il tuo nome: vasco
Inserisci il tuo cognome: rossi
inserisci la tua eta': 60
ciao vasco rossi
puoi farti la patente della macchina
>>>
>>>
Inserisci il tuo nome: luigi
Inserisci il tuo cognome: buffon
inserisci la tua eta': 13
ciao luigi buffon
sei troppo giovane per la patente
>>>
Esercizio3
Programma che calcola la soluzione di un'equazione di secondo grado
Un'equazioni di secondo grado si può scrivere nella forma
ax2+bx+c=0
Dove a è diverso da 0.
Perciò i dati in input saranno: a,b e c
I dati in output saranno le soluzioni...
Esercizio3
Esempio di esecuzione:
Programma per il calcolo di un'equazione di secondo grado
Inserisci il coefficiente del termine di secondo grado 1
Inserisci il coefficiente del termine di primo grado 2
Inserisci il termine noto 1
...sto calcolando le soluzioni di 1 x^2 +( 2 )x+( 1 )...
la soluzione risulta -1
Programma per il calcolo di un'equazione di secondo grado
Inserisci il coefficiente del termine di secondo grado 1
Inserisci il coefficiente del termine di primo grado 4
Inserisci il termine noto -5
...sto calcolando le soluzioni di 1 x^2 +( 4 )x+( -5 )...
le soluzione sono x1= -5.0 e x2= 1.0
Esercizio3
Esempio di esecuzione:
Programma per il calcolo di un'equazione di secondo grado
Inserisci il coefficiente del termine di secondo grado 1
Inserisci il coefficiente del termine di primo grado 1
Inserisci il termine noto 34
...sto calcolando le soluzioni di 1 x^2 +( 1 )x+( 34 )...
non ci sono soluzioni!!!!!
Programma per il calcolo di un'equazione di secondo grado
Inserisci il coefficiente del termine di secondo grado 0
mammalucco!! a deve essere diverso da zero!!!