Going through Learn Python the Hard Way, lesson 25.
I try to execute the script, and the result is like so:
myComp:lphw becca$ python l25
myComp:lphw becca$
Nothing prints or displays in terminal.
Here’s the code.
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)
Please help!
All your code is function definitions, but you never call any of the functions, so the code doesn’t do anything.
Defining a function with the
defkeyword just, well, defines a function. It doesn’t run it.For example, say you just have this function in your program:
You’re telling the program that whenever you call
f, you want it to print the argument. But you’re not actually telling it that you want to callf, just what to do when you do call it.If you want to call the function on some argument, you need to do so, like this:
So if you want your program to print something, you need to put in some calls to the functions you defined. What calls and with what arguments depends on what you want the code to do!