列表或字典做全局变量在函数中调用可以不用加global
# 用来存储名片 card_infors = [] def print_menu(): """完成打印功能菜单""" print(‘=‘ * 50) print(‘ 名片管理系统函数版‘) print(‘ 1.添加一个新的名片‘) print(‘ 2.删除一个名片‘) print(‘ 3.修改一个名片‘) print(‘ 4.查询一个名片‘) print(‘ 5.显示所有名片‘) print(‘ 6.推出系统‘) print(‘=‘ * 50) def add_new_card_infor(): """完成添加一个新的名片""" new_name = input(‘请输入新的名字:‘) new_qq = input(‘请输入新的QQ:‘) new_weixin = input(‘请输入新的微信:‘) new_addr = input(‘请输入新的地址:‘) # 定义一个新的字典来存储一个新的名片 new_infor = {} new_infor[‘name‘] = new_name new_infor[‘qq‘] = new_qq new_infor[‘weixin‘] = new_weixin new_infor[‘addr‘] = new_addr # 将字典添加到列表中 global card_infors card_infors.append(new_infor) def find_card_infor(): """查询一个名片""" global card_infors find_name = input(‘请输入要查询的名字:‘) find_flag = 0 for temp in card_infors: if find_name == temp[‘name‘]: print("%s\t%s\t%s\t%s\t" % (temp[‘name‘], temp[‘qq‘], temp[‘weixin‘], temp[‘addr‘])) find_flag = 1 break if find_flag == 0: print("查无此人....") def show_all_infor(): """显示所有的名片信息""" global card_infors print("姓名\tQQ\t微信\t住址") for temp in card_infors: print("%s\t%s\t%s\t%s" % (temp[‘name‘], temp[‘qq‘], temp[‘weixin‘], temp[‘addr‘])) def main(): # 1.打印功能提示 print_menu() while True: num = int(input(‘获取用户的输入号: ‘)) if num == 1: add_new_card_infor() elif num == 2: pass elif num == 3: pass elif num == 4: find_card_infor() elif num == 5: show_all_infor() elif num == 6: break else: print(‘输入有误,请重新输入‘) print(" ") #调用主函数 main()