全局变量和局部变量

局部里面定义 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

还想修改,想想还是算了.

02-10 01:09