该程序包含菜单模块,具有添加、修改、删除、指定查询名片信息的功能。
核心:主要是运用了Python字典嵌套列表的数据处理特性,像append添加元素就好比进栈;其数据结构都已经封装在各种基本语法上,所以相比用C指针逐个构建来完成同样的功能操作起来简单得多。
代码:
# coding = gbk
def display_menu():
print("——"*10)
print(" GF名片管理系统1.0")
print("1. 添加名片")
print("2. 删除名片")
print("3. 修改名片")
print("4. 查询名片")
print("5. 获取所有名片信息")
print("6. 退出系统")
print("——"*10)
#获取用户输入的信息
def get_choice():
selected_key = input("请输入选择的序号:")
return int(selected_key)
#添加名片
def add_info():
name_list = {}
new_name = input("请输入姓名:")
name_list["姓名"] = new_name
new_sex = input("请输入性别:")
name_list["性别"] = new_sex
new_age = input("请输入年龄:")
name_list["年龄"] = new_age
list.append(name_list)
#删除名片
def del_info():
name = input("您想要删除的人名:")
for ii in range(0, len(list)):
if list[ii]["姓名"] == name:
del list[ii]
break # 若不加break,del函数执行后,index则会在下一次for循环后溢出
#修改名片
def modi_info():
name = input("您想要修改的人名:")
for kk in range(0, len(list)):
if list[kk]["姓名"] == name:
print (list[kk])
key = int(input("1.修改姓名 2. 修改性别 3. 修改年龄 4.修改全部, 请输入数字:"))
if key == 1:
list[kk]["姓名"] = input("请输入新的名字:")
elif key == 2:
list[kk]["性别"] = input("请输入新的性别:")
elif key == 3:
list[kk]["年龄"] = input("请输入新的年龄:")
elif key == 4:
del list[kk]
add_info()
else:
print("输入有误,请重新输入")
#查询名片
def find_info():
name = input("您想要查询的人名:")
for num in range(0, len(list)):
if list[num]["姓名"] == name:
print (list[num])
#查看所有名片的信息
def print_info():
print("——"*10)
k=1
for info in list:
print("名片编号", k, ":", info)
k += 1
print("——"*10)
i = 0
list = []
while i < 1:
display_menu()
key = get_choice()
if key == 1:
add_info()
elif key == 2:
del_info()
elif key == 3:
modi_info()
elif key == 4:
find_info()
elif key == 5:
print_info()
elif key == 6:
i = 2
print("已退出GF名片系统1.0")
else:
print("输入有误,请重新输入:")
运行结果: