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!!!