侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

基于python实现学生管理系统

Python  /  管理员 发布于 7年前   131

本文为大家分享了python实现学生管理系统的具体代码,供大家参考,具体内容如下

1.0版本学生管理系统

''' 1.添加学员 2.修改学员 3.查询学员 4.删除学员 0.退出程序'''student_list=[]while True: print('1.添加学员') print('2.修改学员') print('3.查询学员') print('4.删除学员') print('0.退出程序') sel_num=input('请输入您要进行的操作:') sel_num=int(sel_num) #如果选择的数字不在0~5 继续选择 while sel_num not in range(0,5):  sel_num=input('您的选择无效,请重新选择:')  sel_num=int(sel_num) if sel_num==1:  name=input('请输入姓名:')  age=input('请输入年龄:')  sex=input('请输入性别:')  person_list=[name,age,sex]  student_list.append(person_list)  print('添加成功!') elif sel_num==2:  for x in range(0,len(student_list)):   person=student_list[x]   print('序号:%s 姓名:%s 年龄:%s 性别:%s '%(x,person[0],person[1],person[2]))  index=input('请输入要修改的序号:')  index=int(index)  while index not in range(0, len(student_list)):   index = input('您选择的序号无效,请重新选择:')   index = int(index)  person=student_list[index]  name=person[0]  age=person[1]  sex=person[2]  student_list[index][0]=input('请输入修改后的姓名:(%s):'%name)  student_list[index][1]=input('请输入修改后的年龄:(%s):'%age)  student_list[index][2]=input('请输入修改后的性别:(%s)'%sex)  print('修改成功!') elif sel_num==3:  for x in range(0,len(student_list)):   person=student_list[x]   name=person[0]   age=person[1]   sex=person[2]   print('序号:%s 姓名:%s 年龄:%s 性别:%s '%(x,name,age,sex)) elif sel_num==4:  for x in range(0,len(student_list)):   person=student_list[x]   print('序号:%s 姓名:%s 年龄:%s 性别:%s '%(x,person[0],person[1],person[2]))  print('1.删除所有学员')  print('2.删除选择的学员')  num=input('请输入您的选择:')  if num=='1':   student_list.clear()  else:   index = input('请输入要删除学员的序号:')   index = int(index)   while index not in range(0, len(student_list)):    index = input('您选择的序号无效,请重新选择:')    index = int(index)   del student_list[index] else:  break

2.0版本学生管理系统---函数版--用列表存放学员信息

#添加学员函数def add_student(): #输入学员姓名、年龄、电话 name=input('请输入学员姓名:') age=input('请输入学员年龄:') phone=input('请输入学员电话:') #把name、age、phone放在小列表中 student=[name,age,phone] # 把小列表添加到所有学员的大列表中 # append(object) insert(index,object) extend(iterable) student_list.append(student) print('添加学员成功!')#查询学员函数def query_student(): #1.查询所有学员 #2.输入学员姓名 查询学员得到查询的学员的序号 print('1.查询所有学员') print('2.查询部分学员') num=int(input('请输入操作序号:')) while num not in range(1,3):  num=int(input('选择无效,请重新输入:')) if num==1:  print('**************学员信息列表***************')  #遍历大列表  for x in range(0,len(student_list)):   #根据x的值从大列表中取出小列表   student=student_list[x]   #从小列表中取出姓名、年龄、电话   name=student[0]   age=student[1]   phone=student[2]   print('序号:%s 姓名:%s 年龄:%s 电话:%s'%(x,name,age,phone)) else:  name = input('请输入您要查询的学员姓名:')  while 1:   a=False   for student in student_list:    if student[0] == name:     index = student_list.index(student, 0, 8)     print('序号:%s 姓名:%s 年龄:%s 电话:%s'%(index,student_list[index][0],student_list[index][1],student_list[     index][2]))     a=True   if a==False:    name=input('该学员没找到,请重新输入:')   else:    break # 修改学员的函数def update_student(): #判断是否有学员信息,如果没有,直接结束函数的执行 if len(student_list)==0:  print('没有学员信息,无法进行修改操作!')  #强制结束函数的执行 return下面的代码都不会再执行了  return #1.查询学员信息 query_student() #2.选择要修改的学员序号 num=input('请选择要修改的学员序号:') #3.转换为整数 num=int(num) #4.判断选择的学员序号是否在范围内 while num not in range(0,len(student_list)):  #不在范围,重新选择  num=input('没有该序号,请重选:')  num=int(num) #5.根据选择的序号取出对应的小列表 student=student_list[num] new_name=input('请输入修改后的姓名(%s):'%student[0]) new_age=input('请输入修改后的年龄(%s)'%student[1]) new_phone=input('请输入修改后的电话(%s)'%student[2]) #6.修改小列表中的数据 student[0]=new_name student[1]=new_age student[2]=new_phone print('修改数据完成!')#删除学员#1.根据学员序号删除 2.删除所有学员 3.根据学员的姓名来删除(有同名的)def delete_student(): if len(student_list)==0:  print('没有学员信息,无法执行删除操作!')  return print('1.根据学员序号删除') print('2.删除所有学员') print('3.根据学员姓名删除学员') #获取输入的内容并转换为整数类型 num=int(input('请输入您的选择:')) #判断选择的选项是否在范围内 while num not in range(1,4):  num=int(input('没有该序号,请重新选择')) #判断选择的选项 if num == 1:  # 1.查询学员信息  query_student()  #2.选择删除的序号  num=int(input('请输入您要删除的学员序号:'))  #判断选择序号是否在范围内  while num not in range(0,len(student_list)):   num=int(input('序号无效,请重选!'))  is_del=input('您确定要删除(%s)学员的信息吗?(y/n):'%student_list[num][0])  if is_del=='y':   #删除列表中的所有数据   del student_list[num]   #student_list.pop(index)   print('%s学员信息删除成功!'%student_list[num][0]) if num==2:  #确认删除  is_del=input('您确定要删除所有学员信息吗?y(确定)/n(取消):')  if is_del=='y':   #删除列表中的所有数据   student_list.clear()   print('所有学员删除成功!')  else:   print('删除数据操作已去取消!') else:  name = input('请输入您要删除的学员的姓名:')  while 1:   #定义列表存放不等于name的小列表   list = []   #遍历大列表   for student in student_list:    #判断输入的name是否和小列表里name的相等    if student[0] != name:     #找出与name不等的小列表所在的索引     index = student_list.index(student,0,len(student_list))     #将符合的小列表添加到list列表中     list.append(student_list[index])   #判断两个列表长度是否相等 相等说明大列表中不存在名字为name的小列表   if len(student_list) == len(list):    name = input('序号不存在,请重新输入:')   #存在符合的小列表   else:    #清空大列表    student_list.clear()    #循环将list列表的内容写入到空的大列表中    for dict in list:     student_list.append(dict)    break#1.声明一个大列表,存放所有学员信息student_list=[]#2.while循环while True: print('***********学员管理系统V2.0**************') print('1.添加学员') print('2.查询学员') print('3.修改学员') print('4.删除学员') print('0.退出程序') print('***************************************') #选择操作 num=input('请选择您的操作:') #转换为整数 num=int(num) #判断选择的选项是否在范围内 while num not in range(0,5):  #重新选择  num=input('没有该选项,请重选:')  #把字符串转换为整数类型  num=int(num) #根据选择的选项执行对应的操作 if num==1:  #调用添加学员的函数  add_student() elif num==2:  #调用查询学员的函数  query_student() elif num==3:  #调用修改学员的的函数  update_student() elif num==4:  delete_student() else:  print('程序已结束!')  break

2.1版本学生管理系统---函数版--用字典存放学员信息

#添加学员函数def add_student(): #输入学员姓名、年龄、电话 name=input('请输入学员姓名:') age=input('请输入学员年龄:') phone=input('请输入学员电话:') #把name、age、phone放在小字典中 student={'name':name,'age':age,'phone':phone} # 把小字典添加到所有学员的大列表中 # append(object) insert(index,object) extend(iterable) student_list.append(student) print('添加学员成功!')#查询学员函数def query_student(): #1.查询所有学员 #2.输入学员姓名 查询学员得到查询的学员的序号 print('1.查询所有学员') print('2.查询部分学员') num=int(input('请输入操作序号:')) while num not in range(1,3):  num=int(input('选择无效,请重新输入:')) if num==1:  print('**************学员信息列表***************')  #遍历大列表  for x in range(0,len(student_list)):   #根据x的值从大列表中取出小字典   student=student_list[x]   #从小字典中取出姓名、年龄、电话   name=student['name']   age=student['age']   phone=student['phone']   print('序号:%s 姓名:%s 年龄:%s 电话:%s'%(x,name,age,phone)) else:  name = input('请输入您要查询的学员姓名:')  while 1:   a=False   for student in student_list:    if student['name'] == name:     index = student_list.index(student, 0, 8)     print('序号:%s 姓名:%s 年龄:%s 电话:%s'%(index,student_list[index]['name'],student_list[index]['age'], student_list[index]['phone']))     a=True   if a==False:    name=input('该学员没找到,请重新输入:')   else:    break # 修改学员的函数def update_student(): #判断是否有学员信息,如果没有,直接结束函数的执行 if len(student_list)==0:  print('没有学员信息,无法进行修改操作!')  #强制结束函数的执行 return下面的代码都不会再执行了  return #1.查询学员信息 query_student() #2.选择要修改的学员序号 num=input('请选择要修改的学员序号:') #3.转换为整数 num=int(num) #4.判断选择的学员序号是否在范围内 while num not in range(0,len(student_list)):  #不在范围,重新选择  num=input('没有该序号,请重选:')  num=int(num) #5.根据选择的序号取出对应的小字典 student=student_list[num] new_name=input('请输入修改后的姓名(%s):'%student['name']) new_age=input('请输入修改后的年龄(%s)'%student['age']) new_phone=input('请输入修改后的电话(%s)'%student['phone']) #6.修改小列表中的数据 student['name']=new_name student['age']=new_age student['phone']=new_phone print('修改数据完成!')#删除学员#1.根据学员序号删除 2.删除所有学员 3.根据学员的姓名来删除(有同名的)def delete_student(): if len(student_list)==0:  print('没有学员信息,无法执行删除操作!')  return print('1.根据学员序号删除') print('2.删除所有学员') print('3.根据学员姓名删除学员') #获取输入的内容并转换为整数类型 num=int(input('请输入您的选择:')) #判断选择的选项是否在范围内 while num not in range(1,4):  num=int(input('没有该序号,请重新选择')) #判断选择的选项 if num == 1:  # 1.查询学员信息  query_student()  #2.选择删除的序号  num=int(input('请输入您要删除的学员序号:'))  #判断选择序号是否在范围内  while num not in range(0,len(student_list)):   num=int(input('序号无效,请重选!'))  is_del=input('您确定要删除(%s)学员的信息吗?(y/n):'%student_list[num]['name'])  if is_del=='y':   #删除列表中的所有数据   del student_list[num]   #student_list.pop(index)   print('%s学员信息删除成功!'%student_list[num]['name'])  else:   print('删除数据操作已去取消!') elif num==2:  #确认删除  is_del=input('您确定要删除所有学员信息吗?y(确定)/n(取消):')  if is_del=='y':   #删除列表中的所有数据   student_list.clear()   print('所有学员删除成功!')  else:   print('删除数据操作已去取消!') else:  name = input('请输入您要删除的学员的姓名:')  while 1:   # 定义列表存放不等于name的小列表   list=[]   # 遍历大列表   for student in student_list:    # 判断输入的name是否和小字典里name的相等    if student['name']!=name:     # 找出与name不等的小字典所在的索引     index=student_list.index(student)     # 将符合的小字典添加到list列表中     list.append(student_list[index])   # 判断两个列表长度是否相等 相等说明大列表中不存在名字为name的小列表   if len(student_list)==len(list):    name=input('序号不存在,请重新输入:')   # 存在符合的小字典   else:    # 清空大列表    student_list.clear()    # 循环将list列表的内容写入到空的大列表中    for dict in list:     student_list.append(dict)    break#1.声明一个大列表,存放所有学员信息student_list=[]#2.while循环while True: print('***********学员管理系统V2.0**************') print('1.添加学员') print('2.查询学员') print('3.修改学员') print('4.删除学员') print('0.退出程序') print('***************************************') #选择操作 num=input('请选择您的操作:') #转换为整数 num=int(num) #判断选择的选项是否在范围内 while num not in range(0,5):  #重新选择  num=input('没有该选项,请重选:')  #把字符串转换为整数类型  num=int(num) #根据选择的选项执行对应的操作 if num==1:  #调用添加学员的函数  add_student() elif num==2:  #调用查询学员的函数  query_student() elif num==3:  #调用修改学员的的函数  update_student() elif num==4:  delete_student() else:  print('程序已结束!')  break

3.0版本学生管理系统--将学员信息存入文件中

def is_in_range(): index = input('请选择要(修改)删除的学员序号:') index = int(index) while index not in range(0, len(student_list)):  index = input('您输入的序号不在范围内,请重新输入:')  index = int(index) return indexdef add_stu(): name = input('请输入姓名:') age = input('请输入年龄:') sex = input('请输入性别:') person_list = [name, age, sex] student_list.append(person_list) print('添加成功!')def alter_stu(): index=is_in_range() person = student_list[index] name = person[0] age = person[1] sex = person[2] student_list[index][0] = input('请输入修改后的姓名:(%s):' % name) student_list[index][1] = input('请输入修改后的年龄:(%s):' % age) student_list[index][2] = input('请输入修改后的性别:(%s)' % sex) print('修改成功!')def see_stu(): for x in range(0, len(student_list)):  person = student_list[x]  name = person[0]  age = person[1]  sex = person[2]  print('序号:%s 姓名:%s 年龄:%s 性别:%s ' % (x, name, age, sex))def del_stu(): print('1.删除所有学员') print('2.删除选择的学员') num = input('请输入您的选择:') if num == '1':  student_list.clear() else:  index = is_in_range()  del student_list[index]#声明保存数据的函数def save_data(): #1.打开文件 file_handle=open('student_v2.txt',mode='w') #2.for循环遍历大列表 for student in student_list:  #把列表中的数据用空格分开拼接成一个字符串  s=' '.join(student)  #写入  file_handle.write(s)  file_handle.write('\n') #3.关闭文件 file_handle.close()#引入os模块import os#读取文件的函数def read_data(): #判断文件是否存在 rs=os.path.exists('student_v2.txt') if rs==True:  #1.打开文件  file_handle=open('student_v2.txt',mode='r')  #2.取出信息  contents=file_handle.readlines()  for content in contents:   #去除/n   content=content.strip('\n')   #使用空格分割字符串,得到列表   list_1=content.split(' ')   #将小列表添加到大列表中   student_list.append(list_1)  # 3.关闭文件  file_handle.close()# 声明一个大列表,存放学院的姓名student_list = []read_data()while True: print('1.添加学员') print('2.修改学员') print('3.查询学员') print('4.删除学员') print('0.退出程序') sel_num = input('请输入您要进行的操作:') sel_num = int(sel_num) # 如果选择的数字不在0~5 继续选择 while sel_num not in range(0, 5):  sel_num = input('您的选择无效,请重新选择:')  sel_num = int(sel_num) # 添加学员 if sel_num == 1:  add_stu()  save_data() elif sel_num == 2:  # 1.展示所有学员信息  see_stu()  # 2.选择要修改的学员序号  alter_stu()  save_data() elif sel_num == 3:  see_stu() elif sel_num == 4:  see_stu()  # 2.选择要删除的学员序号  del_stu()  save_data() else:  break

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


  • 上一条:
    python高级特性和高阶函数及使用详解
    下一条:
    python3.4控制用户输入与输出的方法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客