Topic: Primo lavoretto e prima calcolatrice  (Letto 1103 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Guybrush.py

  • python unicellularis
  • *
  • Post: 34
  • Punti reputazione: 0
  • "Che razza di nome é Guybrush?"
    • Mostra profilo
    • La Combriccola del pinguino
Primo lavoretto e prima calcolatrice
« il: Luglio 24, 2007, 21:44 »
Ciao ragazzi, oggi mi sono dedicato solo a python (non vi preoccupate, finito questo post esco  :D ) e ho realizzato la mia prima calcolatrice.
Questo è il codice:
#! /usr/bin/python

Menu = ["", "INDICE", "", "1.Somma", "2.Differenza", "3.Moltiplicazione", "4.Divisione", "5.Esci"]
for i in Menu:
print i
def Somma():
print "Somma"
Somma = float(input("Numero1: \n")) + float(input("Numero2: \n"))
print "Risultato", Somma
Menu() #Per le caratteristeiche della funzione Menu, vedere poche righe sotto.
def Differenza():
print "Differenza"
Differenza = float(input("Numero1: \n")) - float(input("Numero2: \n"))
print "Risultato", Differenza
Menu()
def Moltiplicazione():
print "Moltiplicazione"
Moltiplicazione = float(input("Numero1: \n")) * float(input("Numero2: \n"))
print "Risultato", Moltiplicazione
Menu()
def Divisione():
print "Divisione"
Divisione = float(input("Numero1: \n")) / float(input("Numero2: \n"))
print "Risultato", Divisione
Menu()
def Menu():
try:
x = int(raw_input("Scegli un opzione, facendo riferimento alla lista: \n"))
if x == '':
print "Scelta non valida, devi inserire un numero"
except ValueError:
print "Scelta non valida, devi inserire un numero"
Menu()

if x > 5 or x<1:
print "Devi scegliere un numero compreso tra 1 e 5"
Menu()
#Somma
elif x == 1:
return Somma()
#Differenza
elif x == 2:
return Differenza()
#Moltiplicazione
elif x == 3:
return Moltiplicazione()
#Divisione
elif x == 4:
return Divisione()
#Esci
elif x == 5:
print "Bye bye"
else:
print "Comando non riconosciuto, riprovare!"
Menu()
Menu()
Insomma niente di speciale... Mi ha aiutato un bel po' Markon e lo ringrazio, ma si sa, per i primi lavoretti ci vuole molta assistenza.
Per il menu iniziale ci sono molti modi per averlo, io ho usato il comando for.
Ho cercato di coprire un po' tutti i possibili errori di digitazione.

Il grande ostacolo è stato il comando try/except... non capisco perché devo ripetere due volte la frase:
Citazione
Scegli un opzione, facendo riferimento alla lista
Molto probabilmente va inserita una sola volta e ho sbagliato la sintassi.

Comunque quando tutto funziona bene è una grande soddisfazione...
Abbiate pazienza, sono proprio all'inizio.
Ah, ovviamente non è completa, mancano diverse operazioni, ma è stato per mancanza di tempo, magari domani aggiorno un po'.
Ovviamente accetto consigli e suggerimenti.
Ciao

Offline Markon

  • python sapiens sapiens
  • *
  • moderatore
  • Post: 4.104
  • Punti reputazione: 5
    • Mostra profilo
    • Neolithic
Re: Primo lavoretto e prima calcolatrice
« Risposta #1 il: Luglio 24, 2007, 22:04 »
L'if all'interno del try non è importante ;)

Funziona perfettamente anche così ;)

Offline Guybrush.py

  • python unicellularis
  • *
  • Post: 34
  • Punti reputazione: 0
  • "Che razza di nome é Guybrush?"
    • Mostra profilo
    • La Combriccola del pinguino
Re: Primo lavoretto e prima calcolatrice
« Risposta #2 il: Luglio 25, 2007, 01:00 »
L'if all'interno del try non è importante ;)

Funziona perfettamente anche così ;)
Scusa ma non ho capito... quale parte è superflua?
Non devo mettere la condizione dentro al try?
Ti ripeto, sono proprio all'inizio.. come verrebbe senza l'if?

ciao e grazie

Offline Markon

  • python sapiens sapiens
  • *
  • moderatore
  • Post: 4.104
  • Punti reputazione: 5
    • Mostra profilo
    • Neolithic
Re: Primo lavoretto e prima calcolatrice
« Risposta #3 il: Luglio 25, 2007, 01:46 »
Citazione
Ti ripeto, sono proprio all'inizio.. come verrebbe senza l'if?

Funziona lo stesso.
Perchè ciò che ti interessa provare è x= int(raw_input..... e non l'if.
Puoi gestirti le eccezioni anche in altri modi ovviamente, ma con il try / except vai più sicuro :)

Offline Guybrush.py

  • python unicellularis
  • *
  • Post: 34
  • Punti reputazione: 0
  • "Che razza di nome é Guybrush?"
    • Mostra profilo
    • La Combriccola del pinguino
Re: Primo lavoretto e prima calcolatrice
« Risposta #4 il: Luglio 25, 2007, 01:55 »
Citazione
Ti ripeto, sono proprio all'inizio.. come verrebbe senza l'if?

Funziona lo stesso.
Perchè ciò che ti interessa provare è x= int(raw_input..... e non l'if.
Puoi gestirti le eccezioni anche in altri modi ovviamente, ma con il try / except vai più sicuro :)

Hai perfettamente ragione, ho commentato le due righe superflue e il risultato non cambia...
Grazie Markon  :ok: