1. 完成一个名片管理器,名片管理器具有一个菜单页面和以下功能:
1)添加名片
2)删除名片
3)修改名片
4)查询名片
5)获取所有名片信息
6)退出系统
要求:(1) 在运行过程中程序应当可以接收多次选项并执行对应的功能(可以使用无限循环完成该功能)
(2)将名片信息存储到文件中,并且每次打开管理器时可以从文件中获取已存储的名片信息,并且可以对文件读取出的名片信息进行相关增删改查操作
import os
if not os.path.exists('D:\\文件系统.txt'):
f1 = open(r'D:\\文件系统.txt', 'w')
f1.close()
class Card(object):
def __init__(self, name, num):
self.name = name
self.num = num
list1 = []
def write_card():
with open('D:\\文件系统.txt', 'w', encoding='utf-8') as f:
for i in list1:
f.write('%s,%s' % (i.name, i.num))
f.write('\n')
def read_card():
with open('D:\\文件系统.txt', 'r', encoding='utf-8') as f:
for i in f:
if i.isspace():
continue
person = i.split(',')
list1.append(Card(person[0], person[1]))
def menu1():
print('-' * 40)
print(' 名片管理系统 ')
print("1)添加名片")
print("2)删除名片")
print("3)修改名片")
print("4)查询名片")
print("5)获取所有名片信息")
print("6)退出系统")
print('-' * 40)
read_card()
get_choice()
def get_choice():
key = int(input("请输入您选择的序号:"))
if key == 1:
fun1()
elif key == 2:
fun2()
elif key == 3:
fun3()
elif key == 4:
fun4()
elif key == 5:
fun5()
elif key == 6:
fun6()
else:
print("无此功能,请重新输入!")
get_choice()
def fun1():
print('=' * 40)
print("添加名片:")
name = input("请输入姓名:")
num = input("请输入电话号码:")
mp = Card(name, num)
list1.append(mp)
print("添加成功!")
print('=' * 40)
get_choice()
def fun2():
print('=' * 40)
print("删除名片:")
name = input(print("请输入需删除的名片姓名:"))
for i in list1:
if i.name == name:
list1.remove(i)
print("删除成功!")
break
else:
print("此名片不存在!")
print('=' * 40)
get_choice()
def fun3():
print('=' * 40)
print("修改名片:")
name = input(print("请输入原姓名:"))
print("请输入需修改的内容序号:")
print("1)姓名")
print("2)电话号码")
x = int(input())
if x == 1:
name1 = input(print("请输入新姓名:"))
for i in list1:
if i.name == name:
i.name = name1
print("修改成功!")
break
else:
print("原名片不存在!")
elif x == 2:
num1 = input(print("请输入新电话号码:"))
for i in list1:
if i.name == name:
i.num = num1
print("修改成功!")
break
else:
print("原名片不存在!")
else:
print("请输入正确的序号!")
print('=' * 40)
get_choice()
def fun4():
print('=' * 40)
print("查询名片:")
name = input(print("请输入需查询的姓名:"))
for i in list1:
if i.name == name:
print("该名片存在:", end=' ')
print(i.name, i.num)
break
else:
print("此名片不存在!")
print('=' * 40)
get_choice()
def fun5():
print('=' * 40)
print("获取所有名片信息:")
for i in list1:
print(i.name, i.num)
print()
print('=' * 40)
get_choice()
def fun6():
print('=' * 40)
write_card()
print("退出系统成功!")
print('=' * 40)
menu1()