[英]Calling a function inside a 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')
在外壳中,唯一弹出的是“次数...”,但是如果我调用
lr_occurences(PUZZLE1,'whatever')
返回值的效果很好。
有任何想法吗?
您正在调用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'))
,以使其显示。
您永远不会对返回值做任何事情。 退回或打印。
您的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
到它的调用者。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.