递归调用是函数嵌套调用的一种特殊形式,函数在调用时,直接或间接调用了自身,就是递归调用
def calc(n): print(n) if int(n / 2) == 0: return n res=calc(int(n / 2)) return res res=calc(10) print(res)
输出
10 5 2 1 1
import time person_list=['alex','wupeiqi','linhaifeng','zsc'] def ask_way(person_list): print('-'*60) if len(person_list) == 0: return '根本没人知道' person=person_list.pop(0) if person == 'linhaifeng': return '%s说:我知道,老男孩就在沙河汇德商厦,下地铁就是' %person print('hi 美男[%s],敢问路在何方' % person) print('%s回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问%s...' % (person, person_list)) time.sleep(10) res=ask_way(person_list) print('%s问的结果是: %res' %(person,res)) return res res=ask_way(person_list) print(res)
输出
------------------------------------------------------------ hi 美男[alex],敢问路在何方 alex回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问['wupeiqi', 'linhaifeng', 'zsc']... ------------------------------------------------------------ hi 美男[wupeiqi],敢问路在何方 wupeiqi回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问['linhaifeng', 'zsc']... ------------------------------------------------------------ wupeiqi问的结果是: 'linhaifeng说:我知道,老男孩就在沙河汇德商厦,下地铁就是'es alex问的结果是: 'linhaifeng说:我知道,老男孩就在沙河汇德商厦,下地铁就是'es linhaifeng说:我知道,老男孩就在沙河汇德商厦,下地铁就是