[英]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.