在函数

时间:2015-10-16 00:58:38

标签: python function

这是一件简单的事情,我不知道为什么这不起作用,因为我之前已经多次使用其他语言,也许我错过了一些东西。无论如何,我有一个功能,当我调用不同的函数时,我尝试调用该函数。

上下文:拼图实际上是由字符串的行和列组成的拼图,单词是我们在拼图中寻找的单词

第一个功能

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') 
在shell中,弹出的唯一东西是“次数......”的事情,但是如果我打电话

lr_occurences(PUZZLE1,'whatever')

它可以很好地返回值。

有什么想法吗?

3 个答案:

答案 0 :(得分: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的来电,例如print(do_tasks(PUZZLE1,'whatever')),以便显示。

答案 1 :(得分:0)

你永远不会对返回值做任何事情。要么退还要么打印出来。

答案 2 :(得分:0)

您的def do_tasks(puzzle, name): print('Number of times', name, 'occurs left-to-right: ', end='') return lr_occurrences(puzzle, name) 功能应如下所示:

return

请注意添加的lr_occurrences,以便do_tasksdo_tasks返回的值随后由 $multi_images; 返回给其来电者。