目录
具体需求:实现一个学生信息管理系统
一、数据结构的设计:
二、菜单界面及按钮的设置:
三、各个模块的具体实现
1.定义一个字典,用于存放学生信息
2.查询学生信息模块:
3.添加学生信息模块:
4.修改信息模块:
4.删除学生信息模块:
四、总体架构
1.代码如下:
2.运行结果:
具体需求:实现一个学生信息管理系统
1、要求有学生姓名、身高、体重、学号、班级和手机号码。
2、实现学生信息的增、删、改、查功能。
3、用学号作为KEY,用字典保存学生信息。
一、数据结构的设计:
1、字典:
dict(字典),以{}表示,每一项用逗号隔开, 内部元素用key:value的形式来保存数据
本次项目选用字典存储学生信息,具体结构如下:
{tx001:{lisi,175,120,2013,13125634587},......}
冒号:前为关键数据key(学号),后为具体元素value(姓名、身高、体重、班级和手机号码)
即保存了两组数据,一组为学号,一组为具体信息,两组间存在一 一映射的关系。
2、使用一些字典常用的方法进行数据的获取以及存储。
二、菜单界面及按钮的设置:
while 1: #菜单界面的循环
print()
print('学生信息管理系统v1.0'.center(40))#将字符串居中
print('菜单界面'.center(40,'*'))
print('* 1---查询信息 *'.center(40,'*'))
print('* 2---添加信息 *'.center(40,'*'))
print('* 3---修改信息 *'.center(40,'*'))
print('* 4---删除信息 *'.center(40,'*'))
print('* 0---退出系统 *'.center(40,'*'))
print('*'*42)
opt = input('请选择你要进行的操作:')
if not opt or opt not in '01234' or len(opt)>1:
print('\t---请输入0-4---') #判断输入的值是否有效,为空、不属于01234、输入的数位数大于一,均为无效,重新输入,菜单界面循环
continue
else:
break #输入的值满足条件,为01234中的一个,跳出菜单界面的循环
对菜单界面进行设置,跟用户进行交互;并使用if()语句进行判断:
如果用户输入的内容为空、不属于“01234”中的一个、或输入的数字长度大于1,则说明用户输入的内容无效,继续停留在菜单界面,并提醒用户“请输入0-4”;
如果符合要求,内容有限,则根据用户所需跳转至相应模块
三、各个模块的具体实现
1.定义一个字典,用于存放学生信息
代码如下(示例):
studic = {}
2.查询学生信息模块:
代码如下(示例):
if studic: #首先用if语句判断当前字典是否为真,真意味着字典内有值,可进行查询
xh = input('请输入你要查询的学号:')
if xh not in studic: #判断输入的学号是否存在于字典中,存在则输出学号所对应的值
print('---此学号不存在---')
else:
print(studic.get(xh))
else:
print('---当前系统内没有学生信息---')
如果字典里没有信息,直接输出“当前系统内没有学生信息”;
如果字典内有内容,则实行查询操作,以学号(xh)为关键字进行查询并输出。
3.添加学生信息模块:
代码如下(示例):
xh = input('请输入你要添加的学号:')
if xh in studic: #判断输入的学号字典中是否已经存在,存在则无法添加,不存在进行添加操作
print('---此学号已存在---')
else:
name = input('请输入学生姓名:')
length = int(input('请输入学生身高:'))
heigth = int(input('请输入学生体重:'))
bj = input('请输入学生班级:')
phone = input('请输入学生手机号:')
studic[xh] = {'姓名':name,'身高':length,'体重':heigth,'班级':bj,'手机号':phone} #添加信息
print('---添加信息成功---')
4.修改信息模块:
代码如下(示例):
if studic: #先判断当前字典是否为真,若为真,方可进行修改,否则没有信息,无法进行修改操作
xh = input('请输入你要修改的学号:')
if xh not in studic: #判断输入的学号,字典存不存在,不存在,不能修改
print('---此学号不存在---')
else:
name = input('请输入学生姓名:') #对修改的学号的具体信息,重新输入
length = int(input('请输入学生身高:'))
heigth = int(input('请输入学生体重:'))
bj = input('请输入学生班级:')
phone = input('请输入学生手机号:')
studic[xh] = {'姓名': name, '身高': length, '体重': heigth, '班级': bj, '手机号': phone}
print('---修改信息成功---')
else:
print('---当前系统内没有学生信息,无法进行修改---')
4.删除学生信息模块:
代码如下(示例):
if studic: #判断当前字典是否为真,为真才可进行删除,否则无信息,不可进行删除
xh = input('请输入你要删除的学号:')
if xh not in studic: #判断输入学号在不在字典里,若在,方可进行删除
print('---此学号不存在---')
else:
del studic[xh] #利用del删除输入学号所在的键值对,实现删除功能
print('---删除信息成功---')
else:
print('---当前系统内没有学生信息,无法进行删除---')
四、总体架构
1.代码如下:
# coding=utf-8
#学生信息管理系统1.0,字典存放学生信息
studic = {} #定义一个空字典,用于存放学生信息
while 1:
while 1: #菜单界面的循环
print()
print('学生信息管理系统v1.0'.center(40))#将字符串居中
print('菜单界面'.center(40,'*'))
print('* 1---查询信息 *'.center(40,'*'))
print('* 2---添加信息 *'.center(40,'*'))
print('* 3---修改信息 *'.center(40,'*'))
print('* 4---删除信息 *'.center(40,'*'))
print('* 0---退出系统 *'.center(40,'*'))
print('*'*42)
opt = input('请选择你要进行的操作:')
if not opt or opt not in '01234' or len(opt)>1:
print('\t---请输入0-4---') #判断输入的值是否有效,为空、不属于01234、输入的数位数大于一,均为无效,重新输入,菜单界面循环
continue
else:
break #输入的值满足条件,为01234中的一个,跳出菜单界面的循环
if opt == '1': #进行信息查询功能
if studic: #首先用if语句判断当前字典是否为真,真意味着字典内有值,可进行查询
xh = input('请输入你要查询的学号:')
if xh not in studic: #判断输入的学号是否存在于字典中,存在则输出学号所对应的值
print('---此学号不存在---')
else:
print(studic.get(xh))
else:
print('---当前系统内没有学生信息---')
elif opt == '2': #进行学生信息添加功能
xh = input('请输入你要添加的学号:')
if xh in studic: #判断输入的学号字典中是否已经存在,存在则无法添加,不存在进行添加操作
print('---此学号已存在---')
else:
name = input('请输入学生姓名:')
length = int(input('请输入学生身高:'))
heigth = int(input('请输入学生体重:'))
bj = input('请输入学生班级:')
phone = input('请输入学生手机号:')
studic[xh] = {'姓名':name,'身高':length,'体重':heigth,'班级':bj,'手机号':phone} #添加信息
print('---添加信息成功---')
elif opt == '3': #进行学生信息修改功能
if studic: #先判断当前字典是否为真,若为真,方可进行修改,否则没有信息,无法进行修改操作
xh = input('请输入你要修改的学号:')
if xh not in studic: #判断输入的学号,字典存不存在,不存在,不能修改
print('---此学号不存在---')
else:
name = input('请输入学生姓名:') #对修改的学号的具体信息,重新输入
length = int(input('请输入学生身高:'))
heigth = int(input('请输入学生体重:'))
bj = input('请输入学生班级:')
phone = input('请输入学生手机号:')
studic[xh] = {'姓名': name, '身高': length, '体重': heigth, '班级': bj, '手机号': phone}
print('---修改信息成功---')
else:
print('---当前系统内没有学生信息,无法进行修改---')
elif opt == '4': #进行学生信息删除功能
if studic: #判断当前字典是否为真,为真才可进行删除,否则无信息,不可进行删除
xh = input('请输入你要删除的学号:')
if xh not in studic: #判断输入学号在不在字典里,若在,方可进行删除
print('---此学号不存在---')
else:
del studic[xh] #利用del删除输入学号所在的键值对,实现删除功能
print('---删除信息成功---')
else:
print('---当前系统内没有学生信息,无法进行删除---')
else: #选择0,跳出大的死循环,以为退出系统
break
print('感谢你的使用,see you!'.center(40))
2.运行结果:
1、菜单界面:
2、错误输入:
3、添加学生信息:
4、查询学生信息:
5、修改学生信息:
6、删除学生信息:
7、退出系统: