1、系统登录界面
打印功能菜单、添加学生信息、删除学生信息、修改学生信息、查询学生信息、显示学生信息、退出系统,并且需要接收用户的输入,在根据输入内容调用相应函数实现相应功能,模板图如下:
2、程序运行过程
3、具体实现过程
代码如下:
student_info_list = []
def insert():
student_num = input('请输入学号:')
for num in student_info_list:
if student_num == num['student_num']:
print('学号已经存在')
return insert()
while True:
if student_num.isdigit():
break
else:
student_num = input('学号有误,请重新输入:')
name = input('请输入姓名:')
while True:
if name.isdigit():
name = input('姓名有误,请重新输入:')
continue
break
sex = input('请输入性别:')
if sex == '男' or sex == '女':
pass
else:
print('输出格式错误!')
while True:
new_sex = input('请重新输入性别:')
if new_sex == '男' or sex == '女':
sex = new_sex
break
age = input('请输入年龄:')
while True:
if age.isdigit():
break
else:
age = input('年龄有误,请重新输入:')
age_num = int(age)
if age_num <= 30:
pass
if age_num > 30:
while True:
age = input('年龄有误,请重新输入:')
age_num = int(age)
if age_num <= 30:
pass
else:
continue
break
phone = input('请输入手机号:')
while True:
if phone.isdigit():
break
else:
phone = input('手机号有误,请重新输入:')
phone_num = len(phone)
# print(phone_num)
if phone_num == 11:
student_info_list.append({'student_num': student_num, 'name': name, 'sex': sex, 'age': age, 'phone': phone})
if phone_num != 11:
while True:
phone = input('手机号有误,请重新输入:')
new_phone_num = len(phone)
if new_phone_num == 11:
student_info_list.append(
{'student_num': student_num, 'name': name, 'sex': sex, 'age': age, 'phone': phone})
break
def delete():
# 1. 用户输入要删除的学员的姓名
del_name = input('请输入要删除的学员的姓名:')
# 2. 判断学员是否存在:如果输入的姓名存在则删除,否则报错提示
for i in student_info_list:
if del_name == i['name']:
student_info_list.remove(i)
print('删除成功')
break
else:
print('该学员不存在')
def update():
chance_update = int(input('请输入要修改的内容(1:姓名 2:手机号):'))
if chance_update == 1:
update_name = input('请输入要修改的学员姓名:')
for i in student_info_list:
if update_name == i['name']:
new_name = input('请输入新的学员姓名:')
i['name'] = new_name
else:
print('未找到该学员')
break
else:
update_phone = input('请输入要修改的学员手机号:')
for i in student_info_list:
if update_phone == i['phone']:
new_phone = input('请输入新的学员手机号:')
i['phone'] = new_phone
else:
print('未找到该手机号')
def search():
"""查询学员"""
# 1. 输入要查找的学员姓名:
search_name = input('请输入要查找的学员姓名:')
# global info
# 2. 判断学员是否存在:如果输入的姓名存在则显示这位学员信息,否则报错提示
for i in student_info_list:
if search_name == i['name']:
print('查找到的学员信息如下:----------')
print(f"该学员的学号是{i['student_num']}, 姓名是{i['name']},性别是{i['sex']},年龄是{i['age']}, 手机号是{i['phone']}")
break
else:
print('该学员不存在')
def show():
""" 显示所有学员信息 """
# print('学号\t姓名\t性别\t年龄\t手机号')
print("%-3s %-3s %-5s %-3s %-5s " % ("学号", "姓名", "性别", "年龄", "手机号"))
for i in student_info_list:
print(f'{i["student_num"]}\t{i["name"]}\t{i["sex"]}\t{i["age"]}\t{i["phone"]}')
def help():
interface()
def interface():
print('- ' * 20)
print('欢迎登录学员管理系统')
print('1、添加学员(insert)')
print('2、删除学员(delete)')
print('3、修改学员信息(update)')
print('4、查询学员信息(search)')
print('5、显示学员信息(show)')
print('6、退出系统(exit)')
print('- ' * 20)
def seq():
while True:
seq = input('请选择您需要的功能序号:')
if seq == '1' or seq == 'insert':
insert()
elif seq == '2' or seq == 'delete':
delete()
elif seq == '3' or seq == 'update':
update()
elif seq == '4' or seq == 'search':
search()
elif seq == '5' or seq == 'show':
show()
elif seq == '6' or seq == 'exit':
pd = input('是否退出程序!(yes or no):')
if pd == 'yes' or pd == 'YES':
break
elif pd == 'no' or pd == 'NO':
print('程序继续!')
else:
print('格式错误!')
continue
elif seq == 'help':
help()
else:
print('请输入正确的功能序号:')
interface()
seq()
print('-----------------')
with open('D:\\文档\\学生信息管理.txt', 'w', encoding='utf8') as f_dst: #选择一个你要把信息录入到那个文件
for student_info in student_info_list:
student_num = student_info['student_num']
name = student_info['name']
sex = student_info['sex']
age = student_info['age']
phone = student_info['phone']
f_dst.write(f"{student_num}\t{name}\t{sex}\t{age}\t{phone}\n")
f_dst.close()