使用Python实现 学生学籍管理系统


Posted in Python onNovember 26, 2019

大家好,今天跟大家分享一个用Python实现的学生学籍管理系统:

该代码主体由五个函数组成:

1.add_stu() 添加
2.del_stu() 删除
3.print_stu()打印
4.exit_stu() 退出
5.system() 主函数

1.add_stu()

此段函数作用:把输入的值存入字典newstu中,并将字典存入列表stu中

def add_stu():
  newstu = {
       'num':int(input("请输入学号:"'')),
       'name':input("请输入姓名:"''),
       'sex':input("请输入性别:"'')
       } 
  stu.append(newstu) #stu是定义的列表,可在下面的完整代码中查找
  return system()

使用Python实现 学生学籍管理系统

2.del_stu()

此段函数作用:根据输入学号,查找列表中的字典键值是否存入,若存入,将该字典从列表中删除

def del_stu():
  delstus = int(input("请输入要删除的学生学号:"))
  k = 0 #循环递增变量,用来判断要删除的字典在列表中的位置
  for temp in stu:
    k+=1
    if delstus in range(temp['num'],temp['num']-1,-1):
    #这里的temp变量相当于列表中的字典,通过查找键值是否相匹配,并用到range函数(start,stop,step)
      print("该学号已找到")
      break
  del stu[( k - 1 )]#删除列表中的字典
  print("删除成功")
  return system()

使用Python实现 学生学籍管理系统

3.print_stu()

此段函数作用:把列表中的字典以值的形式遍历出来

def print_stu():
  i = 1
  j = 0
  k = 1
  print("=================================")
  print("学生信息如下:")
  print("=================================")
  print("序号\t学号\t姓名\t性别")
  for s in stu:#遍历列表
    for cla in s.values(): #字典中的按值索引     
      if j%3 == 0:#第一个if用来实现:序号递增并换行

        print("\n")
        print(k,end = '.\t')
        k+=1
      print(cla,end = '\t')
      if i%3 == 0:#第二个if用来实现:每输出一个字典就换行
        print("\n")
      i+=1
      j+=1
  print("\n")
  return system()

使用Python实现 学生学籍管理系统

4.exit_stu()

此段函数作用:人机交互,退出

def exit_stu():
  x = input("是否退出?( YES or NO ) : ")
  if x == 'YES':
    print("***Repl Closed*** ")
  else:
    return system()

使用Python实现 学生学籍管理系统

5.system_stu()

主函数

def system():
  print("=================================")
  print("学生管理系统v1.0")
  print("1.添加学生信息")
  print("2.删除学生信息")
  print("3.显示所有的学生信息")
  print("0.退出系统")

  print("=================================")
  x = int(input("请输入功能对应的数字: "))
  if( x == 1):
    add_stu()
  elif( x == 2):
    del_stu()
  elif( x == 3):
    print_stu()
    
  elif( x == 0):
    exit_stu()
  else:
    return system()

使用Python实现 学生学籍管理系统

完整代码

stu = []
def add_stu():
  newstu = {
       'num':int(input("请输入学号:"'')),
       'name':input("请输入姓名:"''),
       'sex':input("请输入性别:"'')
       }
  stu.append(newstu)
  return system()
def del_stu():
  delstus = int(input("请输入要删除的学生学号:"))
  k = 0
  for temp in stu:
    k+=1
    if delstus in range(temp['num'],temp['num']-1,-1):
      print("该学号已找到")
      break
  del stu[( k - 1 )]
  print("删除成功")
  return system()
def print_stu():
  i = 1
  j = 0
  k = 1
  print("=================================")
  print("学生信息如下:")
  print("=================================")
  print("序号\t学号\t姓名\t性别")
  for s in stu:
    for cla in s.values():      
      if j%3 == 0:

        print("\n")
        print(k,end = '.\t')
        k+=1
      print(cla,end = '\t')
      if i%3 == 0:
        print("\n")
      i+=1
      j+=1
  print("\n")
  return system()
def exit_stu():
  x = input("是否退出?( YES or NO ) : ")
  if x == 'YES':
    print("***Repl Closed*** ")
  else:
    return system()
def system():
  print("=================================")
  print("学生管理系统v1.0")
  print("1.添加学生信息")
  print("2.删除学生信息")
  print("3.显示所有的学生信息")
  print("0.退出系统")

  print("=================================")
  x = int(input("请输入功能对应的数字: "))
  if( x == 1):
    add_stu()
  elif( x == 2):
    del_stu()
  elif( x == 3):
    print_stu()
    
  elif( x == 0):
    exit_stu()
  else:
    return system()
system()

使用Python实现 学生学籍管理系统
使用Python实现 学生学籍管理系统
使用Python实现 学生学籍管理系统

难点

1.在列表中,按学号索引字典

2. 打印列表时的换行和序号

总结

以上所述是小编给大家介绍的使用Python实现 学生学籍管理系统,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python程序设计入门(5)类的使用简介
Jun 16 Python
带你了解python装饰器
Jun 15 Python
查看django执行的sql语句及消耗时间的两种方法
May 29 Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 Python
Python 写入训练日志文件并控制台输出解析
Aug 13 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
Python双链表原理与实现方法详解
Feb 22 Python
keras自定义损失函数并且模型加载的写法介绍
Jun 15 Python
python中怎么表示空值
Jun 19 Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 Python
Python更改pip镜像源的方法示例
Dec 01 Python
详解BeautifulSoup获取特定标签下内容的方法
Dec 07 Python
python redis 批量设置过期key过程解析
Nov 26 #Python
python3 tkinter实现添加图片和文本
Nov 26 #Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 #Python
Python小程序之在图片上加入数字的代码
Nov 26 #Python
基于Python获取城市近7天天气预报
Nov 26 #Python
NumPy中的维度Axis详解
Nov 26 #Python
python列表推导式操作解析
Nov 26 #Python
You might like
PHP批量检测并去除文件BOM头代码实例
2014/05/08 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
2015/12/07 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
php获取数据库结果集方法(推荐)
2017/06/01 PHP
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
js与运算符和或运算符的妙用
2014/02/14 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
使用js画图之圆、弧、扇形
2015/01/12 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
javascript控制台详解
2015/06/25 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
解决Echarts 显示隐藏后宽度高度变小的问题
2020/07/19 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
python3中str(字符串)的使用教程
2017/03/23 Python
python编程线性回归代码示例
2017/12/07 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python 导入数据及作图的实现
2019/12/03 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
财产公证书格式
2014/04/10 职场文书
大学新闻系自荐书
2014/05/31 职场文书
老人与海读书笔记
2015/06/26 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
MySQL8.0的WITH查询详情
2021/08/30 MySQL
Vertica集成Apache Hudi重磅使用指南
2022/03/31 Servers
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server