神码ai火车头伪原创设置【php源码】

大家好,给大家分享一下python编写学生信息管理系统的学生信息保存在哪里,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

火车头采集ai伪原创插件截图:

要求描述:

学生的信息包括:学号,姓名,年龄,性别,出生日期,地址,电话,E-mail等等。试设计一个学生信息管理系统,使之能提供一下基本功能:

  • 系统以菜单方式工作
  • 学生信息录入功能(学生信息用文件保存)--- 输入
  • 学生信息浏览功能 --- 输出
  • 查询、排序功能 --- 算法
  1. 按学号查询
  2. 按姓名查询 
  • 学生信息的删除与修改(可选项) 

基本思路同之前写的那篇图书借阅系统,在此就不多赘述神码ai伪原创。

直接上代码,代码如下:

import osclass Student(object):def __init__(self, sid, name, age=None, gender=None,birth=None, address=None, tel=None, mail=None):self.sid = sidself.name = nameself.age = ageself.gender = genderself.birth = birthself.address = addressself.tel = telself.mail = maildef __str__(self):return "%s:%s:%s:%s:%s:%s:%s:%s" %(self.sid, self.name, self.age, self.gender,self.birth, self.address, self.tel, self.mail)class StudentManage(object):students = []def __init__(self):filename = 'students.csv'if os.path.exists(filename):with open(filename) as f:for line in f:info = line.split(':')studentObj = Student(*info)self.students.append(studentObj)print("加载缓存的学生信息成功")else:print("无缓存的学生信息!")def add(self):sid = input("学号: ")name = input("姓名: ")age = input("年龄: ")gender = input("性别(1-男 2-女): ")birth = input("出生日期(年-月-日): ")address = input("地址: ")tel = input("联系电话: ")mail = input("电子邮箱: ")stu = Student(sid, name, age, gender, birth, address, tel, mail)self.students.append(stu)print("录入学生[%s]信息成功" %(name))def show(self):print("学生信息展示".center(50, '*'))for student in self.students:print('-' * 50)print(str(student))def search(self, key, value):if key in ['sid', 'name']:for student in self.students:if getattr(student, key) == value:print(str(student))else:print("未找到符合条件的学生信息!")else:print("系统只支持根据[学号]和[姓名]查询!")def sort(self, key):# 根据指定的key值进行排序sorted_students = sorted(self.students, key=lambda x: int(getattr(x, key)) if x else None)for student in sorted_students:print(student)def delete(self, key, value):if key in ['sid', 'name']:for student in self.students:if getattr(student, key) == value:self.students.remove(student)print("删除属性值[%s]为[%s]的学生信息" % (key, value))else:print("未找到符合条件的学生信息!")else:print("当前系统只支持根据 [学号] 和 [姓名] 删除!")def modify(self, key, oldvalue, newvalue):if key in ['sid', 'name']:for student in self.students:if getattr(student, key) == oldvalue:setattr(student, key, newvalue)print("修改属性值[%s]为[%s]的学生信息为[%s]成功" % (key, oldvalue, newvalue))else:print("未找到符合条件的学生信息!")else:print("当前系统只支持根据 [学号] 和 [姓名] 修改!")def save(self):filename = 'students.csv'f = open(filename, 'w')for student in self.students:f.write(str(student) + '\n')print("写入学生信息成功!")f.close()def main():manager = StudentManage()while True:menu = """学生信息管理系统1. 学生信息录入2. 学生信息浏览3. 学生信息查询4. 学生信息排序5. 学生信息的删除6. 学生信息的修改7. 退出请输入正确的选择:    """choice = input(menu)if choice == '1':manager.add()manager.save()elif choice == '2':manager.show()elif choice == '3':key = input("查询(sid-根据学号, name-根据姓名): ")value = input("查询值: ")manager.search(key, value)elif choice == '4':key = input("排序(sid-根据学号, age-根据年龄): ")manager.sort(key)elif choice == '5':key = input("删除(sid-根据学号, name-根据姓名): ")value = input("删除的属性值: ")manager.delete(key, value)elif choice == '6':key = input("修改(sid-根据学号, name-根据姓名): ")value1 = input("旧的属性值: ")value2 = input("新的属性值: ")manager.modify(key, value1, value2)elif choice == '7':exit(0)else:print("请输入正确的选择!")main()

 运行之后,就会输出可供选择的功能菜单键,如下:

下面就是基本的功能实现了:

1.录入学生信息

2.浏览学生信息

3.查询指定学生信息

4.对学生信息进行排序(可以根据学号或者年龄从小到大排序)

5.删除指定学生的信息

6.修改指定学生信息(修改学号或姓名)

操作后可以看到学生信息会发生变化:

然后输入7之后就会退出该系统。

以上就是一个通过Python实现的简易的学生信息管理系统。

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

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

相关文章

蓝牙资讯|苹果发布AirPods最新开发者固件,最新功能引人关注

苹果面向 AirPods 耳机发布了开发者固件更新 AirPods 6.0 Beta 3,最新内部版本号为 6A5289c。 本次更新适用于 AirPods 3、AirPods Pro 2 和 AirPods Max,不过并非所有 AirPods 耳机都获得了更新。包含5 种新功能 / 新特性: 自适应音频&am…

MySQL5.7 与 MariaDB10.1 审计插件兼容性验证

这是一篇关于发现 MariaDB 审计插件导致 MySQL 发生 crash 后,展开适配验证并进行故障处理的文章。 作者:官永强 爱可生DBA 团队成员,擅长 MySQL 运维方面的技能。热爱学习新知识,亦是个爱打游戏的宅男。 本文来源:原创…

flask使用cookie (设置cookie与查看cookie内容)

1.flask包cookie的使用 设置cookie app.route(/set_cookie) def set_cookie():resp make_response(Setting cookie)resp.set_cookie(username, John)return resp查看cookie: app.route(/get_cookie) def get_cookie():username request.cookies.get(username)return Welco…

Elasticsearch之kibana相关命令

1.中文分词器相关命令 2.拼音分词器相关命令

一个月学通Python(三十四):使用Selenium模拟人工操作及获取网页内容

专栏介绍 结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教…

React 核心开发者 Dan Abramov 宣布从 Meta 离职

导读React.js 核心开发者、Redux 作者 Dan Abramov 在社交平台发文宣布,将辞去在 Meta 的职务: “我感到苦乐参半,几周后我就要辞去 Meta 的工作了。在 Meta 的 React 组织工作是我的荣幸。感谢我过去和现在的同事接纳我,容忍我犯…

暗黑版GPT流窜暗网 降低犯罪门槛

随着AIGC应用的普及,不法分子利用AI技术犯罪的手段越来越高明,欺骗、敲诈、勒索也开始与人工智能沾边。 近期,专为网络犯罪设计的“暗黑版GPT”持续浮出水面,它们不仅没有任何道德界限,更没有使用门槛,没有…

接口幂等性实现方式

优质博文:IT-BLOG-CN 幂等 操作的特点是一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。幂等函数或幂等方法是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态&am…

PCB制造中铜厚度的重要性

电子产品中的PCB是现代电子设备中不可或缺的一部分。在PCB制造过程中,铜厚度是一个非常重要的因素。正确的铜厚度可以保证电路板的质量和性能,同时也影响着电子产品的可靠性和稳定性。 一般我们常见的铜厚有17.5um(0.5oz)&#x…

捕捉时刻:将PDF文件中的图像提取为个性化的瑰宝(从pdf提取图像)

应用场景: 该功能的用途是从PDF文件中提取图像。这在以下情况下可能会很有用: 图片提取和转换:可能需要将PDF文件中的图像提取出来,并保存为单独的图像文件,以便在其他应用程序中使用或进行进一步处理。例如&#xff…

微信小程序的项目解构

视频链接 黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署)_哔哩哔哩_bilibili 接口文档 https://www.escook.cn/docs-uni-shop/mds/1.start.html 1:微信小程序宿主环境 1:常见的宿…

linux_常用命令

一、日常使用命令/常用快捷键命令 开关机命令 1、shutdown –h now:立刻进行关机 2、shutdown –r now:现在重新启动计算机 3、reboot:现在重新启动计算机 4、su -:切换用户;passwd:修改用户密码 5、logou…

如何对电脑文件进行备份?介绍五种常用方法

在现代生活中,我们的电脑中存储着大量重要的文件和数据。然而,电脑硬件可能会损坏,文件可能会被误删除或感染病毒等情况,因此定期备份文件至关重要,本文将介绍五种常用的电脑文件备份方法,并解决电脑数据没…

无涯教程-Perl - endpwent函数

描述 此功能告诉系统您不再希望使用getpwent从密码文件读取条目。在Windows下,使用Win32API::Net函数从域服务器获取信息。 语法 以下是此函数的简单语法- endpwent返回值 此函数不返回任何值。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perlwhile(($name, $pas…

分布式 - 服务器Nginx:一小时入门系列之静态网页配置

文章目录 1. 静态文件配置2. nginx listen 命令解析3. nginx server_name 命令解析4. nginx server 端口重复5. nginx location 命令 1. 静态文件配置 在 /home 文件下配置一个静态的AdminLTE后台管理系统: [rootnginx-dev conf.d]# cd /home [rootnginx-dev home…

一站式印度跨境电商平台开发--多用户购物商城搭建

搭建一个一站式印度跨境电商平台开发,需要考虑以下几个方面:平台设计,技术架构,多用户购物商城搭建。 一、平台设计: 1. 市场调研:了解印度电商市场的特点和需求,确定目标用户群体。 2. 平台功…

HIVE语法优化之Join优化

桶用两表关联字段,MapJoin时需要将小表填入内存,这时候,分桶就起到了作用 一个stage阶段代表一个mr执行,好几个MR,会吧每一个MR的结果都压缩 Mysql 慢查询 如果sql语句执行超过指定时间,定义该sql为慢查询,存储日志, 查问题: SQL日志,模拟慢SQL 然后查询执行计划 分组聚合 就…

Leetcode-每日一题【剑指 Offer 18. 删除链表的节点】

题目 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 注意:此题对比原题有改动 示例 1: 输入: head [4,5,1,9], val 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调…

SpringCloud 尚硅谷 微服务简介以及Eureka使用

写在前面 该系列博客仅用于本人学习尚硅谷课程SpringCloud笔记,其中的错误在所难免,如有错误恳请指正。 官方源码地址:https://github.com/zzyybs/atguigu_spirngcloud2020 什么是SpringCloud Spring Cloud是微服务一站式服务解决方案&…

生产排查org.apache.http.NoHttpResponseException: 127.0.0.1:9000 failed to respond

生产环境,请求方调用我方地址,发生异常NoHttpResponseException,错误详情: org.apache.http.NoHttpResponseException: 127.0.0.1:9000 failed to respondat org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(Def…