2015-10-16 61 views
0

這是一件簡單的事情,我不知道爲什麼這不起作用,因爲我之前在其他語言中做過很多次,也許我錯過了一些東西。無論如何,我有一個功能,做一些事情,當我調用不同的功能時,我嘗試調用該功能。調用一個函數內部的函數

語境:讓人不解的是字面上行字符串和字的列做了一個讓人不解的是,我們正在尋找拼圖

第一功能

def lr_occurrences(puzzle, word):  
    return puzzle.count(word) 

二級功能字

def do_tasks(puzzle, name):  
    print('Number of times', name, 'occurs left-to-right: ', end='')  
    lr_occurrences(puzzle, name) 

然而,當我打電話

do_tasks(PUZZLE1,'whatever') 

的外殼,在彈出的唯一的事情是「的次數......」的事情,但如果我叫

lr_occurences(PUZZLE1,'whatever') 

它工作完全正常返回值。

任何想法?

回答

0

您正在致電lr_occurrences(puzzle, name),然後放棄結果。或者像在之前的那個函數中那樣打印它,或者返回它。

def do_tasks(puzzle, name):  
    print('Number of times', name, 'occurs left-to-right: ', end='')  
    print(lr_occurrences(puzzle, name)) 

或者:

def do_tasks(puzzle, name):  
    print('Number of times', name, 'occurs left-to-right: ', end='')  
    return lr_occurrences(puzzle, name) 

如果返回它,你將不得不調用打印到do_tasks,例如因爲它出現了。

+0

Ahhhhh我試圖打印它,但它給了一個語法錯誤,所以我認爲我錯了,結果我忘了把括號哈哈。謝謝! –

0

你永遠不會對返回值做任何事情。將其退回或打印出來。

0

do_tasks功能應該是這樣的:

def do_tasks(puzzle, name):  
    print('Number of times', name, 'occurs left-to-right: ', end='')  
    return lr_occurrences(puzzle, name) 

注意添加return,使得由lr_occurrences回到do_tasks值,然後通過do_tasks返回給調用者。