所要实现的功能:
功能: 1.能循环输入内容 2.展示功能 -1.新增名片 -2.显示全部 -3.查询名片 -0.退出系统 3.让用户输入希望执行的操作 例如输入1,2,3,0 4.新增列表 - 提示用户输入姓名, - 输入电话 - 输入qq号 - 输入邮箱 - 提示新增名片成功。 5.显示全部 - 将所有的名片打印出来,格式如下: 姓名 电话 QQ 邮箱 zs 110 1337765076 [email protected] 6.查询名片 - 提示请输入要搜索查找用户的姓名 - 如果用户存在--->显示用户的信息 -提示用户【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。 -修改操作,可以修改用户名,电话,qq、邮箱。 - 删除操作,将用户删除。 - 返回上一级操作,回到欢迎界面,让用户继续操作。 - 如果用户不存在-->提示查找的用户不存在。
student = [{'姓名': '小明', "电话": "1234", 'QQ': '1234234', '邮箱': '34567'}]
student1 = ['姓名', '电话', 'QQ', '邮箱']
while True:
print('-' * 40)
print('1:新增名片',
'2:显示全部',
'3:查询名片',
'4:退出系统')
print('-' * 40)
dic = {}
sr = input('请输入所要执行的序号:')
if sr == '4': # 当输入的序号为4时退出程序
print('程序退出中^^^^^')
break
if sr.isdigit(): # 判断输入的是否是数字
sr = int(sr)
if 0 < sr < 4: # 判断输入的数字是否查出范围
if sr == 1:
name = input('请输入姓名:')
tel = input('请输入电话:')
QQ = input('请输入QQ号:')
mail = input('请输入邮箱:')
dic['姓名'] = name
dic['姓名'] = name
dic['电话'] = tel
dic['QQ'] = QQ
dic['邮箱'] = mail
student.append(dic) # 将字典添加到列表中
print('用户添加成功啦!')
if sr == 2:
for i in student1: # 便利student1 以便于当信息没有时只输出student1中的内容
print(i.ljust(5), end='\t\t\t') # ljust左对齐
print()
for g in student:
for h in g.values(): # 便利列表student列表中字典的value值
print(h.ljust(5), end='\t\t\t')
print()
continue
if sr == 3:
cz = input('请输入所要查询的姓名:')
for a in range(0, len(student)): # 查看student中字典存在个数
if student[a]['姓名'] == cz: # 当输入的姓名和字典中姓名一样,就往下执行
print('姓名:{} 电话:{} QQ: {} 邮箱:{}'.format(student[a]['姓名'], student[a]['电话'],
student[a]['QQ'], student[a]['邮箱']))
print('【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。')
caozuo = input('请输入你要执行操作的序号:')
if caozuo == '0':
print('正在返回上一级菜单。')
break
if caozuo == '1':
new_name = input('请输入新的姓名:')
new_tel = input('请输入新的电话:')
new_qq = input('请输入新的QQ:')
new_mail = input('请输入新的邮箱:')
student[a]['姓名'] = new_name
student[a]['电话'] = new_tel
student[a]['QQ'] = new_qq
student[a]['邮箱'] = new_mail
print('修改成功!!')
if caozuo == '2':
del student[a]
print('删除成功##')
elif a == len(student) - 1:
print('输入的姓名不存在')
else:
print('请看清范围在输入...')
else:
print('请输入数字!!')
lst1 = [] # 保存所有学员信息
def show_menu():
"""
展示功能
"""
print('-' * 40)
print('1:新增名片',
'2:显示全部',
'3:查询名片',
'4:退出系统')
print('-' * 40)
def add_student():
"""
新增学员函数
"""
print('-----------新增名片---------------')
dic = {}
dic['name'] = input('请输入姓名:')
dic['age'] = input('请输入年龄:')
dic['tel'] = input('请输入电话:')
dic['mail'] = input('请输入邮箱:')
lst1.append(dic)
print('添加名片成功!')
def show_student():
"""
显示所有学员信息
"""
print('------------显示所有名片内容--------------')
if not lst1:
print('还没有添加学员。')
return
for i in ['姓名', '年龄', '电话', '邮箱']:
print(i, end='\t\t\t')
print()
for dic in lst1:
name = dic['name']
age = dic['age']
tel = dic['tel']
mail = dic['mail']
print('{}\t\t\t{}\t\t\t{}\t\t\t{}\t\t\t'.format(name, age, tel, mail))
def refer_name():
"""
查询学员信息
"""
print('-------------查询名片--------------')
seek_name = input('请输入想要查询的名字:')
for dic in lst1:
if seek_name == dic['name']:
print('姓名:{}\t\t\t年龄:{}\t\t\t电话:{}\t\t\t邮箱:{}\t\t\t'.format(dic['name'], dic['age'], dic['tel'],
dic['mail']))
print('【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。')
num = input('请输入操作的序号:')
if num in ['1', '2', '0']:
if num == '1':
dic['name'] = input_card_info(dic['name'], '请输入新姓名:')
dic['age'] = input_card_info(dic['age'], '请输入新年龄:')
dic['tel'] = input_card_info(dic['tel'], '请输入新电话:')
dic['mail'] = input_card_info(dic['mail'], '请输入新邮箱:')
print('修改成功!')
return
elif num == '2':
lst1.remove(dic)
print('删除成功!')
return
elif num == '0':
return
else:
print('输入有误。')
else:
print('你输入的姓名不存在!')
def input_card_info(dic_value, tip_massage):
"""判断用户是否输入了内容"""
# 1.提示用户输入内容
result_str = input(tip_massage)
# 2.针对用户输入的进行判断,如果输入,直接返回结果
if len(result_str) > 0:
return result_str
# 3.如果没有输入内容将会返回原来内容
else:
return dic_value
while True:
show_menu()
xuhao = input('请输入想要执行的序号:')
lst = ['1', '2', '3', '4']
if xuhao in lst:
if xuhao == '1':
add_student()
elif xuhao == '2':
show_student()
elif xuhao == '3':
refer_name()
elif xuhao == '4':
print('程序退出中--->盘它')
break
else:
print('输入有误,请看清序号!')
class StudentManage(object):
lst1 = [] # 保存所有学员信息
@staticmethod
def show_menu():
"""
展示功能
"""
print('-' * 40)
print('1:新增名片',
'2:显示全部',
'3:查询名片',
'4:退出系统')
print('-' * 40)
def add_student(self):
"""
新增学员函数
"""
print('-----------新增名片---------------')
dic = {}
dic['name'] = input('请输入姓名:')
dic['age'] = input('请输入年龄:')
dic['tel'] = input('请输入电话:')
dic['mail'] = input('请输入邮箱:')
self.lst1.append(dic)
print('添加名片成功!')
def show_student(self):
"""
显示所有学员信息
"""
print('------------显示所有名片内容--------------')
if not self.lst1:
print('还没有添加学员。')
return
for i in ['姓名', '年龄', '电话', '邮箱']:
print(i, end='\t\t\t')
print()
for dic in self.lst1:
name = dic['name']
age = dic['age']
tel = dic['tel']
mail = dic['mail']
print('{}\t\t\t{}\t\t\t{}\t\t\t{}\t\t\t'.format(name, age, tel, mail))
def refer_name(self):
"""
查询学员信息
"""
print('-------------查询名片--------------')
seek_name = input('请输入想要查询的名字:')
for dic in self.lst1:
if seek_name == dic['name']:
print('姓名:{}\t\t\t年龄:{}\t\t\t电话:{}\t\t\t邮箱:{}\t\t\t'.format(dic['name'], dic['age'], dic['tel'],
dic['mail']))
print('【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。')
num = input('请输入操作的序号:')
if num in ['1', '2', '0']:
if num == '1':
dic['name'] = self.input_card_info(dic['name'], '请输入新姓名:')
dic['age'] = self.input_card_info(dic['age'], '请输入新年龄:')
dic['tel'] = self.input_card_info(dic['tel'], '请输入新电话:')
dic['mail'] = self.input_card_info(dic['mail'], '请输入新邮箱:')
print('修改成功!')
return
elif num == '2':
self.lst1.remove(dic)
print('删除成功!')
return
elif num == '0':
return
else:
print('输入有误。')
else:
print('你输入的姓名不存在!')
def input_card_info(self, dic_value, tip_massage):
"""判断用户是否输入了内容"""
# 1.提示用户输入内容
result_str = input(tip_massage)
# 2.针对用户输入的进行判断,如果输入,直接返回结果
if len(result_str) > 0:
return result_str
# 3.如果没有输入内容将会返回原来内容
else:
return dic_value
while True:
StudentManage.show_menu()
student = StudentManage()
xuhao = input('请输入想要执行的序号:')
lst = ['1', '2', '3', '4']
if xuhao in lst:
if xuhao == '1':
student.add_student()
elif xuhao == '2':
student.show_student()
elif xuhao == '3':
student.refer_name()
elif xuhao == '4':
print('程序退出中--->盘它')
break
else:
print('输入有误,请看清序号!')