[Risolto]Compilando in Python: output None

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
Markon
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1536
Iscrizione: mercoledì 17 gennaio 2007, 10:34
Località: Sperone Beach(AV)
Contatti:

[Risolto]Compilando in Python: output None

Messaggio da Markon »

Ragazzi, mi sto avvicinando al mondo della programmazione, ma come spesso capita, mi si allontana -.-
Avrei un problemino ;)
Se provo a compilare il seguente programmino scritto con kate, guardate che output mi dà:
Programmino:

Codice: Seleziona tutto

Domanda = "Scegli un numero: "
x= input(Domanda)
def Confronta(x):
	if x%2 == 0:
  		print x, "e' pari."
	else:
  		print x, "e' dispari."

print Confronta(x)
Output:

Codice: Seleziona tutto

marco@marco-desktop:~/Python/Esempi$ python testo.1
Scegli un numero: 2
2 e' pari.
None
marco@marco-desktop:~/Python/Esempi$
Certo, il programma in sostanza è quello, però immaginate quanti None dovrei beccarmi se definissi più funzioini??! eheh

Spero possiate aiutarmi ;)
Grazie ;)
Ultima modifica di Markon il domenica 22 aprile 2007, 20:54, modificato 1 volta in totale.
My Guitar Wants to Kill your Mama!

DIVENTA PYTHONEER
Avatar utente
twilight
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3849
Iscrizione: giovedì 17 febbraio 2005, 16:29
Località: L'Aquila
Contatti:

Re: Compilando in Python: output None

Messaggio da twilight »

con il "print Confronta (a)" stampi il valore di ritorno della funzione "Confronta". Per esempio, se fosse cosi':

Codice: Seleziona tutto

Domanda = "Scegli un numero: "
x= input(Domanda)
def Confronta(x):
	if x%2 == 0:
  		print x, "e' pari."
	else:
  		print x, "e' dispari."
        return "..."
print Confronta(x)
il risultato sara'

Codice: Seleziona tutto

2 e' pari
...
basta togliere l'ultimo print, e lasciare solo "Confronta (x)".

ciao

PS: Non lo stai compilando, lo stai interpretando :)
Avatar utente
micettonero
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 772
Iscrizione: domenica 5 febbraio 2006, 11:49
Contatti:

Re: Compilando in Python: output None

Messaggio da micettonero »

Oppure, ancora meglio:

Codice: Seleziona tutto

Domanda = "Scegli un numero: "
x= int(raw_input(Domanda))
def Confronta(x):
	if x%2 == 0:
  		return x, "e' pari."
	else:
  		return x, "e' dispari."

print Confronta(x)
Linux Registered User #409415
"Nessuno può fabbricare una macchina tanto intelligente che possa essere
usata da uno sciocco" - Confucio
Avatar utente
Markon
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1536
Iscrizione: mercoledì 17 gennaio 2007, 10:34
Località: Sperone Beach(AV)
Contatti:

Re: Compilando in Python: output None

Messaggio da Markon »

Grandi twilight e micettonero!!
Nel frattempo avevo chiesto nella chat inglese di python, e mi avevano risposto :
because you are printing the return value of the Confronta() function, which has no explicit return so it returns None.
you can either just call it, without the print statement. or instead of the two print statements inside it, you can have it return the message and then print that.
Come avete detto voi ;D
Grazie! :D

PS @twilight: uhm...mah sì... lo sto interpretando :D e interpretandolo a modo mio fa proprio pena come programma ! (rotfl)
My Guitar Wants to Kill your Mama!

DIVENTA PYTHONEER
Avatar utente
twilight
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3849
Iscrizione: giovedì 17 febbraio 2005, 16:29
Località: L'Aquila
Contatti:

Re: Compilando in Python: output None[Risolto]

Messaggio da twilight »

:)
Dato che hai risolto, aggiungi [RISOLTO] al titolo del primo messaggio :)

ciao
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 14 ospiti