[Tutor] why do i get None as output
Francesco Loffredo
fal at libero.it
Mon Sep 6 20:18:33 CEST 2010
On 06/09/2010 8.34, Roelof Wobben wrote:
> Hello,
>
> I have this programm:
> ...
> def make_empty(seq):
> """
> >>> make_empty([1, 2, 3, 4])
> []
> >>> make_empty(('a', 'b', 'c'))
> ()
> >>> make_empty("No, not me!")
> ''
> """
> word2=""
> teller=0
> if type(seq) == type([]):
> teller=0
> while teller < len(seq):
> seq[teller]=""
> teller = teller + 1
> elif type(seq) == type(()):
> tup2 = list (seq)
> while teller > tup2.len():
> tup2[teller]=""
> teller = teller + 1
> seq = tuple(tup2)
> else:
> seq = ""
>
> test = make_empty([1, 2, 3, 4])
> print test
>
> But now I get None as output instead of []
I would add a line like:
return seq
at the end of the make_empty function.
>
> Can anyone explain why that happens ?
I think Python doesn't know what exactly is the value you need to
receive from the make_empty function. That's why I'd make it clear.
Otherwise, you know what happens...
I quote the following from
http://diveintopython.org/getting_to_know_python/declaring_functions.html
"In fact, every Python function returns a value; if the function ever
executes a return statement, it will return that value, otherwise it
will return None, the Python null value."
> Roelof
Francesco
-------------- next part --------------
Nessun virus nel messaggio in uscita.
Controllato da AVG - www.avg.com
Versione: 9.0.851 / Database dei virus: 271.1.1/3115 - Data di rilascio: 09/05/10 08:34:00
More information about the Tutor
mailing list