功能:
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_info_lst = [] # 保存所有学生的信息
def show_menu(): #显示所有功能菜单
‘’‘显示所有功能菜单’’’
print(‘欢迎来到学生信息管理系统’)
print(‘新增学员请按【1】’)
print(‘显示全部请按【2】’)
print(‘查询学员请按【3】’)
print(‘退出系统请按【0】’)
def add_student(): #这是新增学员功能
'''这是新增学员功能'''
print('-----新增学院功能')
name = input('请输入姓名:')
age = input('请输入年龄:')
gender = input('请输入性别:')
phone = input('请输入手机:')
# 将用户输入的信息保存到字典中
# print(name.age,gender,phone)
dic = {}
dic['name'] = name
dic['age'] = age
dic['gender'] = gender
dic['phone'] = phone
# print(dic)
# 注意将用户输入的信息保存到全局变量student_info_lst列表中,
# 让其他功能使用列表中的信息
student_info_lst.append(dic)
print('添加成功了')
print(student_info_lst)
def alignment(s,space):
'''动态获取空格长度'''
s1=s.encode('gbk')
length=len(s1)
space=space-length
s=s+' '*space
return s
ret=alignment('name',20)
print(ret)
def show_all_student():
print('-----显示所有的学员信息功能-----')
if not student_info_lst: # 没有学员信息
print('还没有学员信息呢,请先添加学员')
return
# 显示学员信息
# print('name\tage\tgender\tphone\t') #此种方法对不齐
name=alignment('name',15)
age=alignment('age',15)
gender=alignment('gender',15)
phone=alignment('phone',15)
print(name,age,gender,phone)
for dic in student_info_lst:
# name = dic['name']
# age = dic['age']
# gender = dic['gender']
# phone = dic['phone']
# print('{}\t{}\t{}\t{}\t'.format(name, age, gender, phone)) 此种方法对不齐
name=alignment(dic['name'],15)
age=alignment(dic['age'],15)
gender=alignment(dic['gender'],15)
phone=alignment(dic['phone'],15)
print(name,age,gender,phone)
def modify_student(old_value, msg):
new_value = input(msg)
if new_value.strip(): # 输入的内容不为空
return new_value
else:
return old_value
def deal_student(dic): # 修改和删除学员信息
action_str = input('【1】修改 【2】删除 【0】返回上一级菜单,请选择执行的操作')
if action_str == '1':
name = modify_student(dic['name'], '请输入姓名:')
age = modify_student(dic['age'], '请输入年龄:')
gender = modify_student(dic['gender'], '请输入性别:')
phone = modify_student(dic['phone'], '请输入电话:')
dic['name'] = name
dic['age'] = age
dic['gender'] = gender
dic['phone'] = phone
print('------修改成功了--------')
elif action_str == '2':
student_info_lst.remove(dic)
print('-----删除成功了-----')
elif action_str == '0':
pass
def search_student_by_name():
print('-----欢迎来到学生信息查询功能-------')
if student_info_lst:
name = input('请输入要查询学员的姓名:')
for dic in student_info_lst:
if dic['name'] == name:
print('name\tage\tgender\tphone\t')
name = dic['name']
age = dic['age']
gender = dic['gender']
phone = dic['phone']
print('{}\t{}\t{}\t{}\t'.format(name, age, gender, phone))
# 修改学员信息
deal_student(dic) # 需要将学员信息传递到函数中
break
else:
print('没有找到该学员姓名')
else:
print('没有学员信息,请先添加学员信息')
while True:
show_menu()
action_str = input('请输入您要选的数字:')
lst = ['0', '1', '2', '3']
if action_str in lst:
# print('正确了')
if action_str == '0':
break
elif action_str == '1':
add_student()
elif action_str == '2':
show_all_student()
elif action_str == '3':
search_student_by_name()
else:
print('--------sb,'
'输入错了,请重新输入--------')