Что не так с этим концом? - PullRequest
1 голос
/ 28 октября 2011

Я просматривал руководство по определению функций с примером создания новых строк, и код, который вы должны были написать, был таким:

def new_line():
    print

def three_lines():
    new_line()
    new_line()
    new_line()

def nine_lines():
    three_lines()
    three_lines()
    three_lines()

print "hello world"

print nine_lines()

print "goodbye"

Может кто-нибудь объяснить, почему он включает «None» раньше »до свидания "?

Ответы [ 3 ]

6 голосов
/ 28 октября 2011
print nine_lines()

Вы печатаете результат вызова функции nine_lines(). Так как эта функция не явно возвращает значение (используя оператор return, если вы еще этого не видели, вы скоро это сделаете), Python возвращает специальное значение None.

Чтобы это исправить, измените эту строку на

nine_lines()
1 голос
/ 28 октября 2011

Когда вы запускаете функцию nine_lines(), она ничего не возвращает, что означает, что она возвращает None.Поскольку вы напечатали возвращаемое значение, в консоли отображается None.

1 голос
/ 28 октября 2011

nine_lines() по умолчанию вернет None, поскольку вы не указали возвращаемое значение.

Просто с помощью

nine_lines()

Должен дать вам желаемый результат или, в качестве альтернативы, вы можете просто использовать

print "\n" * 8

РЕДАКТИРОВАТЬ: я изменил 9 на 8. Я забыл, что печать также добавляет символ новой строки. Спасибо Свену за указание на это.

...