Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Python - Problema con il tipo di variabili
Forum - Python - Problema con il tipo di variabili

Avatar
Gabry (Normal User)
Rookie


Messaggi: 36
Iscritto: 19/04/2011

Segnala al moderatore
Postato alle 23:53
Martedì, 14/06/2011
Ho iniziato oggi con Python e già ho un problema. Su internet c'è scritto che non serve dichiarare il tipo di variabili da usare (cosa che invece devo fare ad es. nel Pascal), ma io ho un problema. Faccio un programma banalissimo:
<code>
#!/usr/bin/python
print(' PERIMETRO QUADRATO')
l=input(' Inserisci il lato: ')
p=4*l
print(' perimetro=',p)
</code>
ma quando lo uso, ad esempio inserisco l=3, il risultato non è 12, ma 3333. Quindi credo che lui tratti l come una stringa. Cosa posso fare?
(Sono alle primissime armi quindi non arrabbiatevi se la mia domanda è stupida!:()

PM
Avatar
The Newbie (Member)
Pro


Messaggi: 175
Iscritto: 14/07/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 0:09
Mercoledì, 15/06/2011
provando ad eseguire il codice che hai postato non incorro nell'errore.

forse nel codice che hai scritto sul tuo pc (diversamente da quello qui postato) hai utilizzato al posto della funzione input la funzione raw_input che accetta come parametro una stringa e non un intero.

se, al contrario, i codici sono identici è un problema dell'interprete python, dunque dovresti o reinstallarlo oppure sostituirlo con una versione più aggiornata

spero di essere stato di qualche aiuto...

Grazie mille! - Gabry - 19/06/11 17:06
Il codice era giusto. Ho cambiato versione (avevo la 3 e qualcosa, ora ho installato la 2.7) ed è tutto OK. Grazie ancora - Gabry - 19/06/11 17:08
PM
Avatar
ulven (Normal User)
Rookie


Messaggi: 43
Iscritto: 18/07/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 14:58
Martedì, 28/06/2011
Con la versione 3 di Python uscita da poco, le variabili passate da input sono considerate stringhe e devono essere convertite prima di essere usate con la funzione int().
Codice sorgente - presumibilmente Plain Text

  1. #!/usr/bin/python
  2. print(' PERIMETRO QUADRATO')
  3. l=input(' Inserisci il lato: ')
  4. p=4*int(l)
  5. print(' perimetro=',p)



Ovviamente oltre a int() esistono str(), float() e qualche altra.

Grazie, ormai ho installato la v. 2.7 e me la tengo, ma se in futuro dovessi cambiare mi ricorderò il tuo consiglio - Gabry - 28/06/11 19:19
PM