|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Vivere?
Messaggi: 3087
|
[Python] Funzioni in Python 2 e 3
Ciao, ho una semplicissima funzione in Python 2 che non và con il 3. Stò cercando di capire cosa cambia tra le due versioni (sono alle primissime armi e non era previsto di usare Python). Ho letto la documentazione ufficiale ma gli esempi proposti sono lontani dalla semplicità della mia funzione. Sò che print nel 3 è diventata una funzione e quindi rispetto all' esempio che allego devo aggiungere un paio di parentesi, però il problema non è lì. Se serve posto l' errore ottenuto. Funzione:
Codice:
def areaRettangolo(base, altezza):
area = base * altezza
return area
base = input("Inserisci la base del rettangolo ")
altezza = input("Inserisci l'altezza del rettangolo ")
print areaRettangolo(base, altezza)
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
In Python 2 erano presenti due funzioni, input e raw_input; la prima che prelevava l'input dell'utente, e lo valutavava (es: mettendo "10" input restituiva l'intero 10, mettendo "10.0" il float 10.0, ecc.; esattamente se si trattasse di un'espressione Python digitata nell'interprete interattivo) mentre la seconda che torna l'input dell'utente così com'è.
In Python 3 la input è scomparsa, mentre raw_input è stata chiamata input. Quindi se vuoi scrivere quel codice in modo che sia compatibile con entrambe le versioni di Python, devi fare così: Codice:
try:
input = raw_input # OK in Python 2: input diventa uguale a raw_input
except:
pass # Python 3 non ha raw_input, per cui input funziona già come vorremmo
def areaRettangolo(base, altezza):
area = int(base) * int(altezza)
return area
base = input("Inserisci la base del rettangolo ")
altezza = input("Inserisci l'altezza del rettangolo ")
print (areaRettangolo(base, altezza))
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Vivere?
Messaggi: 3087
|
Ciao, ti ringrazio per l' aiuto, aiutandomi con l' errore generato avevo anche io provato anteponendo int ai due parametri da moltiplicare, ma inspiegabilmente non andava. Ora funziona bho.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:19.



















