全局变量和局部变量
局部里面定义 global name ======将局部变量变成全局变量
nonlocal name # nonlocal,指定上一级变量,如果没有就继续往上直到找到为止
有一个嵌套例子,做了修改,更加合理了.(花了3小时),更能理解了
gxr = 'linhaifeng' person_list = ['alex', 'wuqi', '1111','2222','3333','linhaifeng', 'zsc'] def ask_way(person_list): print('-' * 60) if len(person_list) == 0: return '根本没人' person = person_list.pop(0) if person_list[0] == gxr: print('%s说:我知道,老男孩就在沙河汇德商厦,下地铁就是%s' % (person, gxr)) print("----") return '%s说:我知道,老男孩就在沙河汇德商厦,下地铁就是%s' % (person, gxr) else: print('hi 美男%s,敢问%s在何方' % (person, gxr)) print('%s回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问%s' % (person, person_list[0])) res = ask_way(person_list) print('%s问的结果是: %s' % (person, res)) person_list.insert(0,person) res="%s说"%person_list[0]+res person_list.pop(0) return res v=ask_way(person_list) print('%s问的结果是: %s' % ("我", v))
打印
hi 美男alex,敢问linhaifeng在何方
alex回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问wuqi
------------------------------------------------------------
hi 美男wuqi,敢问linhaifeng在何方
wuqi回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问1111
------------------------------------------------------------
hi 美男1111,敢问linhaifeng在何方
1111回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问2222
------------------------------------------------------------
hi 美男2222,敢问linhaifeng在何方
2222回答道:我不知道,但念你慧眼识猪,你等着,我帮你问问3333
------------------------------------------------------------
3333说:我知道,老男孩就在沙河汇德商厦,下地铁就是linhaifeng
----
2222问的结果是: 3333说:我知道,老男孩就在沙河汇德商厦,下地铁就是linhaifeng
1111问的结果是: 2222说3333说:我知道,老男孩就在沙河汇德商厦,下地铁就是linhaifeng
wuqi问的结果是: 1111说2222说3333说:我知道,老男孩就在沙河汇德商厦,下地铁就是linhaifeng
alex问的结果是: wuqi说1111说2222说3333说:我知道,老男孩就在沙河汇德商厦,下地铁就是linhaifeng
我问的结果是: alex说wuqi说1111说2222说3333说:我知道,老男孩就在沙河汇德商厦,下地铁就是linhaifeng
还想修改,想想还是算了.