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

Calcolatrice

akus

Entry filed under: Python.

Lezione 05-Costrutti condizionali… Lezione 06-Le liste…

12 commenti Add your own

  • 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??

    Rispondi
  • 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..!

    Rispondi
  • 3. akus85  |  gennaio 13, 2007 alle 4:03 PM

    Infatti ti stavo proprio per scrivere di mettere in punto anzichè la virgola! 😉

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

    Rispondi
  • 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.

    Rispondi
  • 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

    Rispondi
  • 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?

    Rispondi
  • 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.

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

    Rispondi
  • 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

    Rispondi
  • 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

    Rispondi
  • 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?”)

    Rispondi

Scrivi una risposta a akus85 Cancella risposta

Trackback this post  |  Subscribe to the comments via RSS Feed


IL FORUM E’ ATTIVO..!!!

pythonlab adesso ha il suo forum all'indirizzo: Pythonlab-forum

Python s60..

8.MODULO E32 21-03-07 Ultimo aggiornamento

Blog Stats

  • 92.260 hits

Archivi

Aggiunta chat…