Вопрос по python, terminal – Запуск скрипта python в терминале, ничего не печатается и не отображается - почему?

3

Прохождение трудного пути по изучению Python, урок 25.

Я пытаюсь выполнить скрипт, и результат выглядит так:

myComp:lphw becca$ python l25 

myComp:lphw becca$ 

Ничто не печатает и не отображает в терминале.

Вот код.

def breaks_words(stuff): 
    """This function will break up words for us."""
    words = stuff.split(' ')
    return words 

def sort_words(words):
    """Sorts the words."""
    return sorted(words)

def print_first_word(words):
    """Prints the first word after popping it off."""
    word = words.pop(0)
    print word

def print_last_word(words):
    """Prints the last word after popping it off."""
    word = words.pop(-1)
    print word

def sort_sentence(sentence): 
"""Takes in a full sentence and returns the sorted words."""
    words = break_words(sentence)
    return sort_words(words)

def print_first_and_last(sentence):
    """Prints the first and last words of the sentence."""
    words = break_words(sentence)
    print_first_word(words)
    print_last_word(words)

def print_first_and_last_sorted(sentence):
    """Sorts the words then prints the first and last one."""
    words = sort_sentence(sentence)
    print_first_word(words)
    print_last_word(words)

Пожалуйста помоги!

Какой код должен быть напечатан? weronika

Ваш Ответ

2   ответа
11

вызо любая из функций, поэтому код ничего не делает.

Определение функции с помощьюdef ключевое слово просто, ну, определяет функцию. Это не работает.

Например, скажем, у вас просто есть эта функция в вашей программе:

def f(x):
    print x

Ты говоришь программе, что всякий раз, когда звонишьf, вы хотите, чтобы он напечатал аргумент. Но вы на самом деле не говорите, что выхоч звонитьf, что делать, когда ты это называешь.

Если вы хотите вызвать функцию по какому-либо аргументу, вам нужно сделать это следующим образом:

# defining the function f - won't print anything, since it's just a function definition
def f(x):
    print x
# and now calling the function on the argument "Hello!" - this should print "Hello!"
f("Hello!")

Так что если вы хотите, чтобы ваша программа что-то печатала, вам нужно выполнить некоторые вызовы функций, которые вы определили. Какие вызовы и с какими аргументами зависит от того, что вы хотите, чтобы код делал!

Gah. Duh. Я запутался, потому что он сказал: «Во-первых, запустите это как обычно с python ex25.py, чтобы найти любые ошибки, которые вы сделали». Я подумал, что это означает, что он должен отображать /something/ user1186742
Большое спасибо user1186742
@ user1186742 Если у вас были синтаксические ошибки и т. д., то запуск кода нашел бы их - это, вероятно, и имелось в виду. weronika
0

Вы можете запустить этот файл в интерактивном режиме

python -i l25

А потом на Python приглашаем вызвать ваши функции

words = ["Hello", "World"]
print_first_word(words)

Пожалуйста, установите IPython для лучшего взаимодействия с пользователем

Похожие вопросы