3

Learn Python the Hard Way、レッスン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)

助けてください!

4

2 に答える 2

12

すべてのコードは関数定義ですが、どの関数も呼び出さないため、コードは何もしません。

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!")

したがって、プログラムで何かを出力したい場合は、定義した関数を呼び出す必要があります。何を呼び出し、どの引数を使用するかは、コードに何をさせたいかによって異なります。

于 2012-04-28T21:42:37.780 に答える
0

そのファイルを対話型モードで実行できます

python -i l25

そして、Pythonプロンプトで関数を呼び出します

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

より良いユーザーインタラクションのためにipythonをインストールしてください

于 2012-04-28T21:51:18.227 に答える