Esempio di applicazione usando gli argomenti trattati…
gennaio 12, 2007 at 11:21 am 12 commenti
Ecco un’esempio dove sono state utilizzate le operazioni tra numeri ,i costrutti while ed if e gli input da tastiera…
Calcolatrice.py
akus
Entry filed under: Python.
12 commenti Add your own
Scrivi una risposta a akus85 Cancella risposta
Trackback this post | Subscribe to the comments via RSS Feed
1. forzainter | gennaio 13, 2007 alle 3:30 PM
Tutto perfetto,attendo con ansia le prossime lezioni..
solo una cosa…
ho notato che “input” tratta solo numeri interi, qual’è il comando per avere numeri anche con la virgola??
2. forzainter | gennaio 13, 2007 alle 3:52 PM
Chiedo venia…. sbagliavo io… ovviamente…!!
facevo i numeri con 6,5 invece che con 6.5!tutto perfetto..!
3. akus85 | gennaio 13, 2007 alle 4:03 PM
Infatti ti stavo proprio per scrivere di mettere in punto anzichè la virgola! 😉
4. forzainter | gennaio 13, 2007 alle 4:19 PM
Grazie mille akus85,ora purtroppo però ho un altro dubbio… cioè:
se faccio esempio:
(6.1+6.2)/2
mi da 6.1500000000004
ma se in alternativa metto:
(3+2)/2
come risposta mi da 2
e non 2.5
risponde con un numero intero!
Come posso ovviare al problema?
Grazie Mille!
5. akus85 | gennaio 13, 2007 alle 5:48 PM
Quando tu scrivi (3+2)/2 praticamente
dai dei valori “interi” quindi come risultato sarà stampata la parte intera, per ovviare questo problema scrivi (3.0+2.0)/2.0 , cosi dai alle variabili dei numeri con virgola ed il risultato sarà con la virgola.
6. Daniele | gennaio 14, 2007 alle 2:06 PM
Se tutti i termini di una divisione sono interi il risultato sarà troncato all’intero. Basta che uno degli operandi sia un numero in virgola mobile perché venga calcolato il quozienta con i decimali: “(3+2)/2.”.
Ciao
7. forzainter | gennaio 14, 2007 alle 3:50 PM
Verissimo…
ma se io per esempio devo fare un programmino che calcoli dei voti scolastici per esempio…
E devo inserire… ho preso:
7 e 8, fammi la media.
Non posso scrivere print (“Inserisci il primo voto e ah… PS:Python è stupido, quindi scrivi i voti con 7.0 e 8.0”)
Ora l’ho messa sul ridere ovviamente, ma è un po stupida come cosa, non credete?
8. Daniele | gennaio 14, 2007 alle 4:35 PM
certo, se i due voti sono nelle variabili primo e secondo, la media la calcoli con:
media=(primo+secondo)/2.
9. forzainter | gennaio 14, 2007 alle 7:26 PM
ovviamente…
ma se viene inserito 7 come (primo)
e 8 come (secondo), la risposta sarà 7, e non 7.5!
Era tutta qui la stupidata del problema!
10. abstruck | gennaio 15, 2007 alle 5:22 PM
Se vuoi forzare la divisione con float precision basta che scrivi:
from __future__ import division
e da quel momento tutte le divisioni seguono quella logica.
Per i dettagli google ;D
11. akus85 | gennaio 15, 2007 alle 6:09 PM
Ho messo sul forum il codice dell’esercizio della calcolatrice…
vediamo di rendere questo programma con piu funzioni,postate le vostre aggiunzioni o modifiche di codice nel post: http://pythonlab.forumgratis.biz/viewtopic.php?t=4
12. francesco | aprile 6, 2007 alle 4:08 am
La tua applicazione può essere così migliorata:
Facendo l’acquisizione dei valori prima :
print”°°°°°°°°°°°°°°°°°°°”
print”°1-Addizione °”
print”°2-Sottrazione °”
print”°3-Moltiplicazione°”
print”°4-Divisione °”
print”°5-Potenza °”
print”°6-Esci °”
print”°°°°°°°°°°°°°°°°°°°”
scelta=input(“Cosa vuoi fare?”)#serve per entrare
while(scelta>6):
primo_num=input(“inserisci il primo numero:”)
secondo_num=input(“Inserisci il secondo num”)
if(scelta==1):
print primo_num+secondo_num
if(scelta==2):
print primo_num-secondo_num
if(scelta==3):
print primo_num*secondo_num
if(scelta==4):
print primo_num/secondo_num
if(scelta==5):
print primo_num**secondo_num
scelta=input(“Cosa vuoi fare?”)