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

大家好,今天跟大家分享一个用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()

2019112610241640.png

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()

2019112610241641.png

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()

2019112610241642.png

4.exit_stu()

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

def exit_stu():

x = input("是否退出?( YES or NO ) : ")

if x == 'YES':

print("***Repl Closed*** ")

else:

return system()

2019112610241643.png

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()

2019112610241744.png

完整代码

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()

2019112610241745.png

2019112610241746.png

2019112610241747.png

难点

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

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

总结

以上所述是小编给大家介绍的使用Python实现 学生学籍管理系统,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Okhttp使用详解

在Android开发中,发送HTTP请求是很常见的。SDK中自带的HttpURLConnection虽然能基本满足需求,但是在使用上有诸多不便,为此,square公司实现了一个HTTP客户端的类库——Okhttp 。 Okhttp是一个支持HTTP 和 HTTP/2 的客户端&#x…

如何开发rest接口服务_如何简化网络请求接口开发

日常开发中,需要大量和后端对接接口,很容易写出大量的模板代码,比如把对接口的请求放到组件内,或者虽然有数据访问层,但是有大量 get,post 方法的调用,传参的字符串拼接,异常处理等等…

质量属性效用树例子_数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇

HT 是啥:Everything you need to create cutting-edge 2D and 3D visualization.这口号是当年心目中的产品方向,接着就朝这个方向慢慢打磨,如今 HT 算是达到了这样的效果,谈不上用尽洪荒之力,但我们对产品结果很满意&a…

linux vi 出现下划线,Vim高亮当前行(显示为下划线)的解决方案

最近配置Vim,由于以前的vimrc早已丢失,只好重新配置一份,此为题外话,略过不提…在Vim中,可以选择开启高亮当前行,这是一个很不错的特性。开启它也很简单,只需要在vimrc中加入这么一行&#xff1…

springBoot 简单优雅是实现文件上传和下载

前言 好久没有更新spring Boot 这个项目了。最近看了一下docker 的知识,后期打算将spring boot 和docker 结合起来。刚好最近有一个上传文件的工作呢,刚好就想起这个脚手架,将文件上传和下载整理进来。 配置 在application.properties 中增…

C语言的VC开发环境界面介绍,【c语言在vc++6.0中编写界面程序】

到现在为止,C 仍然是计算机编程领域的经典语言之一,C 17 标准在2017上半年已经探讨确定。本期我们汇集了编程专家——祁宇(《深入应用 C 11》作者,C 开源社区 purecpp.org 创始人)的多年心得小结,并具体介绍了 C 17 最新标准中值得…

SpringBoot+VUE 前端加密算法 RSA+DES

前言 为了提高用户登陆的安全性,公司准备整理一份相对安全的登陆模式。 想法 主流加密算法 主流加密算法 (一)对称加密AES ,其特点是:算法简单,加密速度快; (二)非对称加密方式&…

spring cloud微服务_年后进大厂,必备这份微服务面试题:Dubbo+SpringBoot+Cloud

Dubbo面试题Dubbo与DubboX区别Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?Dubbo中有哪些角色?Dubbo在安全机制方面是如何解决的Dubbo执行流程?Dubbo支持的协议有哪些&#xff1…

全栈工程师薪水_2020 Java 全栈工程师进阶路线图,不可错过

技术更新日新月异,对于初入职场或者刚开始学习的同学来说,经常会困惑该往那个方向发展,这一点所有刚开始学习的人基本都有这个体会的。刚开始学习 Java 那会,最大的问题就是不知道该学什么,以及学习的顺序,…

cookie、Session、Token、sessionStorage、localStorage简介__Token放在 cookie, sessionStorage 和 localStorage中区别

cookie、Session、Token、sessionStorage、localStorage简介 cookie 是一个非常具体的东西,只得是浏览器里永久存储的一种数据,是浏览器实现的一种数据存储功能。Cookie在计算机中是个存储在浏览器目录中的文本文件,当浏览器运行时&#xf…

c语言树莓派音乐播放器,使用web端来控制我的树莓派播放音乐

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?web端控制树莓派播放音乐,PHPNodeJSmpg123,粗糙版。实现后还可以做个app什么的。代码git用到的代码内容可以在这里看~nodempg.js启动一个se…

Nginx学习_狂神

Nginx 公司产品出现瓶颈? 我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。 但是慢慢的,使用我们平台的用户…

js当前时间格式化_JS时间格式化

因为new Date().toLocaleString() 在安卓和ios上的格式不一致,所以尽量自己写format生成一个时间数组作为一个简单的举例,我序列化一周的时间对象声明参数let lastMonth []let daylong 86400000判断时间值是否小于9const formatNumber num > { num…

springboot项目中使用shiro 自定义过滤器和token的方式___shiro使用token登录流程

springboot项目中使用shiro 自定义过滤器和token的方式 实现步骤主要是以下几步&#xff1a; 1. 在项目中导入maven依赖 <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.4.0</versi…

window.print 点击取消后再次打印无效_教程 | 图书馆自助复印打印机使用方法

图书馆自助复印打印机教程当当当&#xff01;教程君又来辽~今天为大家介绍的是咱们图书馆霸气十足的自助复印打印机实行全程无人化管理为读者提供自助打印、复印、扫描服务是你学习的小帮手&#xff01;实行全程无人化管理为读者提供自助打印、复印、扫描服务读者可在校园内任意…

android 支付模块封装,Android集成支付----支付宝支付总结与封装

前言类似于Android集成支付----微信支付总结与封装(可以查看本人另外一篇文章)&#xff0c;本文对支付宝支付进行一个总结与封装。相比于微信支付&#xff0c;支付宝支付没有那么多坑。集成支付宝支付SDK这里只是简要介绍&#xff0c;重点解说有坑的地方&#xff0c;具体参考官…

Springboot系列之Shiro、JWT、Redis 进行认证鉴权

Springboot系列之Shiro、JWT、Redis 进行认证鉴权 Shiro架构 Apache Shiro是一个轻量级的安全框架 Shiro可以非常容易的开发出足够好的应用&#xff0c;其不仅可以用在JavaSE环境&#xff0c;也可以用在JavaEE环境。 Shiro可以帮助我们完成&#xff1a;认证、授权、加密、会…

kettle 先删除后插入_Kettle:使用触发器和快照表进行增量数据同步

主库为Oracle 11g数据库&#xff0c;针对需要同步的表建立增量数据临时表以及反向并通过水壶定时同步到PostgreSQL数据库。1&#xff0c;主库创建快照表和快照注意&#xff1a;快照表结构和源表结构必须一致&#xff01;--创建插入快照表 CREATE TABLE SPWUSER.WEB_CUSTOMER_IN…

SpringBoot中使用Shiro和JWT做认证和鉴权

最近新做的项目中使用了shiro和jwt来做简单的权限验证&#xff0c;在和springboot集成的过程中碰到了不少坑。做完之后对shiro的体系架构了解的也差不多了&#xff0c;现在把中间需要注意的点放出来&#xff0c;给大家做个参考。 相对于spring security来说&#xff0c;shiro出…

android 手机wifi重启,路由器要不要每天重启?多亏宽带师傅透露,难怪网速一天比一天慢!...

没WiFi&#xff0c;不成活&#xff01;手机和WiFi之间&#xff0c;就像空调加棉被&#xff0c;谁也离不开谁。图片来源于网络如今WiFi已经填满了我们生活的每个角落&#xff0c;很难想象&#xff0c;如果哪天没了网&#xff0c;世界会变成什么样&#xff01;可是家里的WiFi是越…