当前位置: 首页 > news >正文

网站建设需求报告/新乡网站优化公司推荐

网站建设需求报告,新乡网站优化公司推荐,单页淘客网站怎么建设,怎样开发一个app软件大家好,我是 Enovo飞鱼,今天分享一个 Python程序设计之 —— 简易学生信息管理系统 ,小白或者正在学习Python的小伙伴推荐阅读,加油💪。 目录 前言 Python 简介 Python 特点 一、项目来源及背景 二、功能设计 …

大家好,我是 Enovo飞鱼,今天分享一个 Python程序设计之 —— 简易学生信息管理系统 ,小白或者正在学习Python的小伙伴推荐阅读,加油💪。

目录

前言 

Python 简介

Python 特点

一、项目来源及背景 

二、功能设计

三、步骤分析

四、需求实现

五、具体代码

功能界面部分:

主要部分代码:

4.1 添加学生信息

4.2 删除学生信息

4.3 查询学生信息 

4.4 统计学生总人数

4.5 显示所有学生信息

排序 (以总成绩分数)

五、运行效果

六、完整代码

获取源码?私信?关注?点赞?收藏?


Java程序设计之(一)MySQL的交互-学生信息成绩管理系统:

http://t.csdn.cn/JKoQIicon-default.png?t=MBR7http://t.csdn.cn/JKoQI


前言 

Python 简介

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。

  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

Python 特点

  • 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

  • 2.易于阅读:Python代码定义的更清晰。

  • 3.易于维护:Python的成功在于它的源代码是相当容易维护的。

  • 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

  • 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

  • 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

  • 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

  • 8.数据库:Python提供所有主要的商业数据库的接口。

  • 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。

  • 10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。


一、项目来源及背景 

学生信息管理系统是学生在每学年记录学生升学,转学,退学等的主要应用,具有较强的实用性,贴近实际,便于完成系统的分析与设计,适用于多用户。

 


二、功能设计

实现一个学生信息的管理系统:主要功能有:

  1. 添加学生信息

  2. 删除学生信息

  3. 查询学生信息

  4. 统计学生总人数

  5. 显示所有学生信息

  6. 排序(以总成绩分数)

  7. 退出学生信息管理系统


三、步骤分析

  1. 显示功能界面

  2. 用户输入功能序号

  3. 对不同序号的功能实现具体函数

                3.1 定义函数

                3.2 调用函数


四、需求实现

  1. 显示功能界面 menu()

  2. 用户输入程序指令 choice = int(input('请输入您的程序指令:'))

  3. 按照用户输入的功能序号,执行不同的功能(函数)

  4. 添加学生信息 insert()

  5. 删除学生信息 delete()

  6. 查询学生信息 search()

  7. 统计学生总人数 total()

  8. 显示所以学生信息 show()

  9. 排序(以总成绩分数)sort()

  10. 退出学生信息管理系统  if choice == 0:


五、具体代码

系统功能进行循环使用,直到用户输入0,退出系统。

功能界面部分:

def menu():print('==============================学生信息管理系统==============================')print('︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽功能菜单︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽')print("*" * 74)print("******", " " * 60, "******")print("******\t    1.添加学生信息", " " * 18, "4.统计学生总人数\t\t    ******")print("******\t    2.删除学生信息", " " * 18, "5.显示所有学生信息\t\t    ******")print("******\t    3.查询学生信息", " " * 18, "6.排序(以总成绩分数) \t    ******")print("******\t    0.退出学生信息管理系统", " " * 18, "\t\t\t\t\t******")print("******", " " * 60, "******")print("*" * 74)print('︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾')def save(lst):stu_txt = open(fileName, 'a', encoding='utf-8')for item in lst:stu_txt.write(str(item) + '\n')stu_txt.close()

主要部分代码:

# 定义函数main()
def main():while True:menu()choice = int(input('请输入您的程序指令:'))if choice in [0, 1, 2, 3, 4, 5, 6]:if choice == 0:print("您确定要退出吗?yes/no")answer = input()if answer == 'yes':print('感谢您的使用!!!')break  # 终止else:continue  # 中止elif choice == 1:insert()elif choice == 2:delete()elif choice == 3:search()elif choice == 4:total()elif choice == 5:show()elif choice == 6:sort()else:print('输入的指令不在范围内,请重新输入!!!')

那么根据上面的代码,需要实现具体的功能函数,主要功能代码部分如下:


4.1 添加学生信息

# 录入学生信息
def insert():global phonestudent_list = []while True:id = input('请输入学号: ')if not id:breakname = input('请输入姓名: ')if not name:breaksex = input('请输入性别: ')if not sex:break# phone = input('请输入手机号: ')# if not phone:count = 0for i in range(1, 4):phone = input("请输入你的手机号: ")# 利用正则表达式进行限定tel = re.match(r"^1[3456789]\d{9}$", phone)if tel:print("输入成功!")breakif tel != phone:count += 1if (count == 3):print("录入失败,请30秒后重试!")if (count != 3):print("录入错误,请核对你的手机号!")try:# 智育分满分70分,德育分满分20分,体育分满分10分zyf = int(input('请输入你的智育分:'))dyf = int(input('请输入你的德育分:'))tyf = int(input('请输入你的体育分:'))except:print('请您输入数字成绩!')continue# 将录入的学生信息保存到字典中student = {'id': id, 'name': name, 'sex': sex, 'phone': phone, 'zyf': zyf, 'dyf': dyf, 'tyf': tyf}# 将学生信息添加到列表中# 可删!!!!!student_list.append(student)answer = input('是否继续添加?yes/no\n')if answer == 'yes':continueelse:break# 保存学生信息save(student_list)  # 封装print('学生信息录入完毕!!!')

 

4.2 删除学生信息

# 删除学生信息
def delete():while True:student_id = input('请输入要删除学生的学号:')if student_id != '':if os.path.exists(fileName):with open(fileName, 'r', encoding='utf-8') as file:student_old = file.readlines()else:student_old = []flag = False  # 标记是否删除if student_old:with open(fileName, 'w', encoding='utf-8') as wfile:d = {}for item in student_old:d = dict(eval(item))  # 将字符串转换为字典if d['id'] != student_id:wfile.write(str(d) + '\n')else:flag = Trueif flag:print(f'学号为{student_id}的学生信息已经删除')else:print(f'学生表中没有找到学号为{student_id}的学生')else:print('学生表已中无任何学生个人信息')breakshow()  # 重新显示所有学生信息answer = input('是否继续删除?yes/no\n')if answer == 'yes':continueelse:breakprint('删除学生信息已结束,请你进行下一步操作!!!')

 

4.3 查询学生信息 

# 查询学生信息
def search():while True:stu_query = []id = ''# 判断文件是否存在if os.path.exists(fileName):# if的使用if id == '':id = input('请输入要查找的学生学号:')else:print('您的输入有误,请重新输入!')continue# 如果文件存在,并且用户输入了正确的查询标号,则打开文件with open(fileName, 'r', encoding='utf-8') as rfile:students = rfile.readlines()# 转换为字典类型for item in students:d = dict(eval(item))if id != '':if id == d['id']:stu_query.append(d)  # 追加# 显示查询结果show_student(stu_query)# 是否继续查询其他学生信息answer = input('还要查询其他学生吗?yes/no\n')if answer == 'yes':continueelse:breakelse:print('学生信息不存在!')returnprint('学生信息查询结束,请进行下一步操作!!!')

 

4.4 统计学生总人数

# 统计学生总人数
def total():# 判断文件是否存在,如果存在则打开文件,读取信息if os.path.exists(fileName):with open(fileName, 'r', encoding='utf-8') as rfile:students = rfile.readlines()# 判断读取到的学生信息是否为空if students:print('一共有{}名学生'.format(len(students)))else:print('学生系统中还没有录入学生信息!')else:print('学生信息不存在!')returnprint('学生总人数统计完毕,请进行下一步操作!!!')

 

4.5 显示所有学生信息

# 显示所有学生信息
def show():student_list = []# 判断文件是否存在,如果存在则打开文件,读取信息if os.path.exists(fileName):with open(fileName, 'r', encoding='utf-8') as rfile:students = rfile.readlines()# 判断读取到的学生信息是否为空if students:for item in students:student_list.append(eval(item))# 展示学生信息show_student(student_list)else:print('学生文件中还没有录入学生信息!')else:print('学生文件不存在!')returnprint('学生信息已成功显示,请你进行下一步操作!!!')

 

排序 (以总成绩分数)

# 对总学生成绩进行排序
def sort():# 判断文件是否存在,如果存在则打开文件,读取信息if os.path.exists(fileName):with open(fileName, 'r', encoding='utf-8') as rfile:students_list = rfile.readlines()students_new = []# 判断读取到的学生信息是否为空if students_list:# 将所有的item加入到students_new中for item in students_list:d = dict(eval(item))students_new.append(d)# 利用匿名函数与sort方法进行排序# True为降序,False升序students_new.sort(key=lambda x: int(x['zyf']) + int(x['dyf']) + int(x['tyf']),reverse=True)# 将排序后的成绩进行输出show_student(students_new)print('学生信息排序完成并成功显示,请你进行下一步操作!!!')

 


五、运行效果

 

如上图所示可以看到我们的运行效果,及示例,并且我们输入的信息会存入一个文本文件,那怎么实现的呢?请看下方代码

# 建立一个名为student.text的文本用于保存文件fileName = 'student.txt'


六、完整代码

# 导入模块
import os
import re# 建立一个名为student.text的文本用于保存文件fileName = 'student.txt'# 定义函数main()
def main():while True:menu()choice = int(input('请输入您的程序指令:'))if choice in [0, 1, 2, 3, 4, 5, 6]:if choice == 0:print("您确定要退出吗?yes/no")answer = input()if answer == 'yes':print('感谢您的使用!!!')break  # 终止else:continue  # 中止elif choice == 1:insert()elif choice == 2:delete()elif choice == 3:search()elif choice == 4:total()elif choice == 5:show()elif choice == 6:sort()else:print('输入的指令不在范围内,请重新输入!!!')def menu():print('==============================学生信息管理系统==============================')print('︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽功能菜单︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽︽')print("*" * 74)print("******", " " * 60, "******")print("******\t    1.添加学生信息", " " * 18, "4.统计学生总人数\t\t    ******")print("******\t    2.删除学生信息", " " * 18, "5.显示所有学生信息\t\t    ******")print("******\t    3.查询学生信息", " " * 18, "6.排序(以总成绩分数) \t    ******")print("******\t    0.退出学生信息管理系统", " " * 18, "\t\t\t\t\t******")print("******", " " * 60, "******")print("*" * 74)print('︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾︾')def save(lst):stu_txt = open(fileName, 'a', encoding='utf-8')for item in lst:stu_txt.write(str(item) + '\n')stu_txt.close()# 录入学生信息
def insert():global phonestudent_list = []while True:id = input('请输入学号: ')if not id:breakname = input('请输入姓名: ')if not name:breaksex = input('请输入性别: ')if not sex:break# phone = input('请输入手机号: ')# if not phone:count = 0for i in range(1, 4):phone = input("请输入你的手机号: ")# 利用正则表达式进行限定tel = re.match(r"^1[3456789]\d{9}$", phone)if tel:print("输入成功!")breakif tel != phone:count += 1if (count == 3):print("录入失败,请30秒后重试!")if (count != 3):print("录入错误,请核对你的手机号!")try:# 智育分满分70分,德育分满分20分,体育分满分10分zyf = int(input('请输入你的智育分:'))dyf = int(input('请输入你的德育分:'))tyf = int(input('请输入你的体育分:'))except:print('请您输入数字成绩!')continue# 将录入的学生信息保存到字典中student = {'id': id, 'name': name, 'sex': sex, 'phone': phone, 'zyf': zyf, 'dyf': dyf, 'tyf': tyf}# 将学生信息添加到列表中# 可删!!!!!student_list.append(student)answer = input('是否继续添加?yes/no\n')if answer == 'yes':continueelse:break# 保存学生信息save(student_list)  # 封装print('学生信息录入完毕!!!')def show_student(lst):# 传过来空列表if len(lst) == 0:print('没有查找到该生信息!')return# 定义标题显示格式format_title = '{:^5}\t{:^23}{:^5}\t{:^11}\t{:^12}\t{:^10}\t{:^10}\t{:^6}\t{:^6}\t'print(format_title.format('学号', '姓名', '性别', '手机号', '智育分', '德育分', '体育分', '总成绩', '分数等级'))# 定义内容的显示格式format_data = '{:^6}\t{:^6}\t{:^6}\t{:^31}{:^3}\t{:^10}\t{:^9}\t{:^12}\t{:^12}\t'for item in lst:sum = int(item['zyf']) + int(item['dyf']) + int(item['tyf'])# grade等级的使用grade = ''if sum >= 85:grade = 'A'if 75 <= sum < 85:grade = 'B'if 65 <= sum < 75:grade = 'C'if 60 <= sum < 65:grade = 'D'if sum < 60:grade = 'error'# sum,grade的输出格式不同# format_data.format(sum,grade))print(format_data.format(item['id'], item['name'], item['sex'], item['phone'],item['zyf'], item['dyf'], item['tyf'],sum, grade))print('全部学生信息显示完毕!!!')# 查询学生信息
def search():while True:stu_query = []id = ''# 判断文件是否存在if os.path.exists(fileName):# if的使用if id == '':id = input('请输入要查找的学生学号:')else:print('您的输入有误,请重新输入!')continue# 如果文件存在,并且用户输入了正确的查询标号,则打开文件with open(fileName, 'r', encoding='utf-8') as rfile:students = rfile.readlines()# 转换为字典类型for item in students:d = dict(eval(item))if id != '':if id == d['id']:stu_query.append(d)  # 追加# 显示查询结果show_student(stu_query)# 是否继续查询其他学生信息answer = input('还要查询其他学生吗?yes/no\n')if answer == 'yes':continueelse:breakelse:print('学生信息不存在!')returnprint('学生信息查询结束,请进行下一步操作!!!')# 删除学生信息
def delete():while True:student_id = input('请输入要删除学生的学号:')if student_id != '':if os.path.exists(fileName):with open(fileName, 'r', encoding='utf-8') as file:student_old = file.readlines()else:student_old = []flag = False  # 标记是否删除if student_old:with open(fileName, 'w', encoding='utf-8') as wfile:d = {}for item in student_old:d = dict(eval(item))  # 将字符串转换为字典if d['id'] != student_id:wfile.write(str(d) + '\n')else:flag = Trueif flag:print(f'学号为{student_id}的学生信息已经删除')else:print(f'学生表中没有找到学号为{student_id}的学生')else:print('学生表已中无任何学生个人信息')breakshow()  # 重新显示所有学生信息answer = input('是否继续删除?yes/no\n')if answer == 'yes':continueelse:breakprint('删除学生信息已结束,请你进行下一步操作!!!')# 统计学生总人数
def total():# 判断文件是否存在,如果存在则打开文件,读取信息if os.path.exists(fileName):with open(fileName, 'r', encoding='utf-8') as rfile:students = rfile.readlines()# 判断读取到的学生信息是否为空if students:print('一共有{}名学生'.format(len(students)))else:print('学生系统中还没有录入学生信息!')else:print('学生信息不存在!')returnprint('学生总人数统计完毕,请进行下一步操作!!!')# 显示所有学生信息
def show():student_list = []# 判断文件是否存在,如果存在则打开文件,读取信息if os.path.exists(fileName):with open(fileName, 'r', encoding='utf-8') as rfile:students = rfile.readlines()# 判断读取到的学生信息是否为空if students:for item in students:student_list.append(eval(item))# 展示学生信息show_student(student_list)else:print('学生文件中还没有录入学生信息!')else:print('学生文件不存在!')returnprint('学生信息已成功显示,请你进行下一步操作!!!')# 对总学生成绩进行排序
def sort():# 判断文件是否存在,如果存在则打开文件,读取信息if os.path.exists(fileName):with open(fileName, 'r', encoding='utf-8') as rfile:students_list = rfile.readlines()students_new = []# 判断读取到的学生信息是否为空if students_list:# 将所有的item加入到students_new中for item in students_list:d = dict(eval(item))students_new.append(d)# 利用匿名函数与sort方法进行排序# True为降序,False升序students_new.sort(key=lambda x: int(x['zyf']) + int(x['dyf']) + int(x['tyf']),reverse=True)# 将排序后的成绩进行输出show_student(students_new)print('学生信息排序完成并成功显示,请你进行下一步操作!!!')if __name__ == '__main__':main()

 


上述内容就是我们,Python学生信息管理系统 的全部内容了,希望可以得到大家的支持!

以上就是课程实践作业—— 学生信息管理系统 的全部程序设计分析及相关代码,供大家学习使用,希望可以帮助到大家!如果各位有疑问的话,欢迎私信,发现错误,也希望可以指出,共同改进学习,加油💪!


 

获取源码?私信?关注?点赞?收藏?

  👍+✏️+⭐️+🙇‍

http://www.jmfq.cn/news/5277241.html

相关文章:

  • 做水果网站首页的图片素材/百度推广账号怎么申请
  • 公司网站建设发票能抵扣不/东莞seo外包公司哪家好
  • 在线做静态头像的网站/公司网站建设需要注意什么
  • 监控视频怎么做直播网站/中国国家培训网官网查询
  • 四川省建筑信息平台/成都网站关键词推广优化
  • 昆明哪个公司做网站建设最好/怎么创建一个网址
  • 宣讲家网站两学一做/商务软文写作300字
  • 在什么文件中加入什么代码告诉搜索引擎蜘蛛网站地图的文件位置?/网站优化网站优化
  • 网站信息服务费怎么做凭证/安徽搜索引擎优化seo
  • 建网站需要多少钱2017/信息推广
  • 北京网站建设升上去/杭州网站
  • 传奇网页游戏开服/sem和seo是什么职业岗位
  • 平面网页设计培训/seo优化厂商
  • 北京pk10网站建设/seo网络推广是干嘛的
  • 南通网站建设公司排名/谷歌浏览器app
  • 做批发童车网站有哪些/seo诊断优化方案
  • 石景山成都网站建设/上海搜索seo
  • 网站文件怎么做/网站seo关键词排名推广
  • 网站开发架构mvc/百度seo是什么
  • java网站做微信分享/互联网登录的网站名
  • 沈阳外贸网站制作公司/国内最近发生的重大新闻
  • 政务网站开发方案/seo公司的选上海百首网络
  • 个人外贸网站/seo深圳优化
  • cms哪个好用/seo初级入门教程
  • 开发公司资质审查用假资料后果/seo入门培训学校
  • 怎么做展示型网站/大连网站排名推广
  • 做设计的一般在什么网站找素材/百度竞价托管一月多少钱
  • 外贸网站建设广州/网站推广基本方法是
  • 安徽建设厅网站进不去/做企业网站建设公司哪家好
  • 兼职网站建设 开源/营销心得体会感悟300字