#==============1.数据结构的设置================
"""
数据关系:一个学生管理系统可以保存多个学生信息。一个学生保存姓名、年龄、电话、学号等信息。
一个学生管理系统对应的数据模型:一个列表
一个学生对应的数据类型:一个字典
整个数据结构:
student_system=
[
{'name':x,'age':x,'tel':x,'id':x},
{'name':x,'age':x,'tel':x,'id':x},
{'name':x,'age':x,'tel':x,'id':x},
]
"""
#==============2.页面设计和控制================
page = """=============================
^(* ̄(oo) ̄)^欢迎ddf:
1.添加学生
2.查看学生
3.修改学生信息
4.删除学生
5.返回
============================="""
#函数声明变量赋值
#添加学生函数
def add_student():
dict1 = {}
student_id = 'stu' + str(i).rjust(3, '0')
name = input('请输入学生姓名:')
age = input('请输入学生的年龄:')
tel = input('请输入学生的电话:')
dict1.update({'学号': student_id, '姓名': name, '年龄': age, '电话': tel})
dict2 = dict1.copy()
list1.append(dict2)
return list1
#按姓名查找
def name_find(name):
global j,list9
list9 = []
j = 0
for item in list1:
if item['姓名'] == name:
print(j,item)
list9.append({j: item})
j += 1
return list9
#按学号查找
def id_find(id):
for item in list1:
if item['学号'] == id:
return item
#按姓名修改
def name_change(n: int):
x = list9[n].get(n)
x['姓名'] = input('请修改姓名:')
x['年龄'] = input('请修改年龄:')
x['电话'] = input('请修改电话:')
#按学号修改
def id_change(id):
print(id_find(id))
id_find(id)['姓名'] = input('请修改姓名:')
id_find(id)['年龄'] = input('请修改年龄:')
id_find(id)['电话'] = input('请修改电话:')
return id_find(id)
#按姓名删除
def name_del(n: int):
x = list9[n].get(n)
list1.remove(x)
del list9[n]
return list1
#按学号删除
def id_delete(id):
list1.remove(id_find(id))
return list1
#学生信息保存的列表
list1 = []
#学号自动生成初始值
i = 0
#主程序
while True:
#显示主界面
print(page)
#给出选择
value = input('请选择(1-5):')
#根据不同的选择做不一样的反应
if value == '1':
# 添加学生
while True:
i += 1
add_student()
print('添加成功!')
print('1. 继续\n2. 返回')
value1 = input('请选择(1-2):')
if value1 == '1':
continue#继续执行while True这个循环
#输错提示
else:
break#跳出while True这个循环
elif value == '2':
#查看学生
while True:
print('1.查看所有学生')
print('2.按姓名查找')
print('3.按学号查找')
print('4.返回')
value2 = input('请选择(1-4):')
if value2 == '1':
for item in list1:
print(item)
continue
elif value2 == '2':
name = input('请输入姓名:')
name_find(name)
continue
elif value2 == '3':
id = 'stu' + input('请输入学号(别超过三位数):').rjust(3, '0')
print(id_find(id))
continue
else:
break
elif value == '3':
#修改学生
while True:
print('1.按姓名修改')
print('2.按学号修改')
print('3.返回')
value3 = input('请选择(1-3):')
if value3 == '1':
name = input('请输入姓名:')
while True:
name_find(name)
print('q 返回上一层')
value31 = input('请输入要修改学生对应的标号') # 不能将q转换为int型
if value31 == 'q':
break
elif int(value31) <= j:
name_change(int(value31))
continue
if value3 == '2':
id = 'stu' + input('请输入学号(别超过三位数):').rjust(3, '0')
print(id_change(id))
else:
break
elif value == '4':
#删除学生
while True:
print('1.按姓名删除')
print('2.按学号删除')
print('3.返回')
value4 = input('请选择(1-3):')
if value4 == '1':
name = input('请输入姓名:')
while True:
name_find(name)
print('q 返回上一层')
value41 = input('请输入要删除学生对应的标号') # 不能将q转换为int型
if value41 == 'q':
break
elif int(value41) <= j:
name_del(int(value41))
continue
if value4 == '2':
id = 'stu' + input('请输入学号(别超过三位数):').rjust(3, '0')
print(id_delete(id))
else:
break
else:
#退出
print('\t退出成功!')
break
day7-作业:学生管理系统(功能ok 操作错误有bug哦)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...