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

长沙麓谷建设发展有限公司网站国内广告联盟平台

长沙麓谷建设发展有限公司网站,国内广告联盟平台,有什么wordpress,物流企业网站建设目录开发环境要求运行方法具体的操作步骤如下:代码示例源码及运行程序下载地址开发环境要求 本系统的软件开发及运行环境具体如下。 操作系统:Windows 7、Windows 10。 Python版本:Python 3.7.0。 开发工具:Python IDLE。 …

目录

  • 开发环境要求
  • 运行方法
  • 具体的操作步骤如下:
  • 代码示例
  • 源码及运行程序下载地址

开发环境要求

本系统的软件开发及运行环境具体如下。
操作系统:Windows 7、Windows 10。
Python版本:Python 3.7.0。
开发工具:Python IDLE。
Python内置模块:os、re。

运行方法

在项目文件studentsystem.py上单击鼠标右键,在弹出快捷菜单中选择“Edit with IDLE\Edit with IDLE 3.7(64-bit)”菜单项,如图1所示。

图1  选择IDLE打开项目文件

在打开的Python Shell窗口中,按下F5键运行程序即可。运行效果如图2所示。
图2  项目主界面

具体的操作步骤如下:

(1)录入学生信息。在“请选择:”右侧光标所在位置,输入数字1,并按下键,系统将分别提示输入学生编号、学生名字、英语成绩、Python成绩和C语言成绩,输入正确的信息后,系统会提示是否继续添加,如下图所示。输入y,系统将会再次提示用户输入用户信息,输入n,则将录入学生信息保存到文件中。

录入一条学生信息
在这里插入图片描述

(2)查找学生信息。在功能菜单上输入功能编号2,并且按下键,系统将要求用户选择是按学生编号查询还是按学生姓名查询,如果用户输入1,则要求用户输入学生ID,表示按学生编号查询,输入想要查询的学生编号,系统查找该学生信息,如果找到则显示,效果如图3所示,否则显示“(o@.@o) 无数据信息 (o@.@o)”,效果如图所示。最后提示是否继续查找输入y,系统将再次提示用户选择查找方式,输入n,则退出查找学生信息功能。

通过学生ID查找学生信息
在这里插入图片描述

未找到符合条件的学生信息
在这里插入图片描述

(3)删除学生信息。在功能菜单上输入功能编号3,并且按下键,系统将提示输入要删除学生的编号,输入相应的学生ID后,系统会直接从文件中删除该学生信息,并且提示是否继续删除,如下图所示。输入y,系统将会再次提示用户输入要删除的学生编号,输入n,则退出删除功能。
在这里插入图片描述

(4)修改学生信息。在功能菜单上输入功能编号4,并且按下键,系统首先显示全部学生信息列表,再提示输入要修改学生的编号,输入相应的学生ID后,系统会在文件中查找该学生信息,如果找到,则提示修改相应的信息,否则不修改。最后提示是否继续修改,如下图所示。输入y,系统将会再次提示用户输入要修改的学生编号,输入n,则退出修改功能。
在这里插入图片描述

(5)排序。在功能菜单上输入功能编号5,并且按下键,系统将先显示不排序的全部学生信息,然后提示选择排序方式,这里输入2,再选择降序排列“1”,将对学生信息按Python成绩降序排列并显示,如下图所示。
在这里插入图片描述

(6)统计学生总人数。在功能菜单上选择“6 统计学生总人数”菜单项,并且按下键,系统将自动统计出学生总人数并显示,如下图所示。
在这里插入图片描述

(7)显示所有学生信息。在功能菜单上选择“7 显示所有学生信息”菜单项,并且按下键,系统将获取并显示全部学生信息,如下图所示。
在这里插入图片描述

(8)退出系统。在功能菜单上输入功能编号5,并且按下键即可退出系统,如下图所示。
在这里插入图片描述

代码示例

# _*_ coding:utf-8   _*_
# 开发人员:Administrator
# 开发时间:2022/11/22 12:53
# 文件名称:studentsystem.py
# 开发工具:PyCharm
import re  # 导入正则表达式模块
import os  # 导入操作系统模块filename = "students.txt"  # 定义保存学生信息的文件名def menu():# 输出菜单print('''╔———————学生信息管理系统————————╗│                                              ││   =============== 功能菜单 ===============   ││                                              ││   1 录入学生信息                             ││   2 查找学生信息                             ││   3 删除学生信息                             ││   4 修改学生信息                             ││   5 排序                                     ││   6 统计学生总人数                           ││   7 显示所有学生信息                         ││   0 退出系统                                 ││  ==========================================  ││  说明:通过数字或↑↓方向键选择菜单          │╚———————————————————————╝''')def main():ctrl = True  # 标记是否退出系统while (ctrl):menu()  # 显示菜单option = input("请选择:")  # 选择菜单项option_str = re.sub("\D", "", option)  # 提取数字if option_str in ['0', '1', '2', '3', '4', '5', '6', '7']:option_int = int(option_str)if option_int == 0:  # 退出系统print('您已退出学生成绩管理系统!')ctrl = Falseelif option_int == 1:  # 录入学生成绩信息insert()elif option_int == 2:  # 查找学生成绩信息search()elif option_int == 3:  # 删除学生成绩信息delete()elif option_int == 4:  # 修改学生成绩信息modify()elif option_int == 5:  # 排序sort()elif option_int == 6:  # 统计学生总数total()elif option_int == 7:  # 显示所有学生信息show()'''1 录入学生信息'''def insert():stdentList = []        # 保存学生信息的列表mark = True  # 是否继续添加while mark:id = input("请输入ID(如 1001):")if not id:  # ID为空,跳出循环breakname = input("请输入名字:")if not name:  # 名字为空,跳出循环breaktry:english = int(input("请输入英语成绩:"))python = int(input("请输入Python成绩:"))c = int(input("请输入C语言成绩:"))except:print("输入无效,不是整型数值....重新录入信息")continuestdent = {"id": id, "name": name, "english": english, "python": python, "c": c}  # 将输入的学生信息保存到字典stdentList.append(stdent)  # 将学生字典添加到列表中inputMark = input("是否继续添加?(y/n):")if inputMark == "y":  # 继续添加mark = Trueelse:  # 不继续添加mark = Falsesave(stdentList)  # 将学生信息保存到文件print("学生信息录入完毕!!!")# 将学生信息保存到文件
def save(student):try:students_txt = open(filename, "a")  # 以追加模式打开except Exception as e:students_txt = open(filename, "w")  # 文件不存在,创建文件并打开for info in student:students_txt.write(str(info) + "\n")  # 按行存储,添加换行符students_txt.close()  # 关闭文件'''2 查找学生成绩信息'''def search():mark = Truestudent_query = []  # 保存查询结果的学生列表while mark:id = ""name = ""if os.path.exists(filename):  # 判断文件是否存在mode = input("按ID查输入1;按姓名查输入2:")if mode == "1":id = input("请输入学生ID:")elif mode == "2":name = input("请输入学生姓名:")else:print("您的输入有误,请重新输入!")search()  # 重新查询with open(filename, 'r') as file:  # 打开文件student = file.readlines()  # 读取全部内容for list in student:d = dict(eval(list))  # 字符串转字典if id is not "":  # 判断是否按ID查if d['id'] == id:student_query.append(d)  # 将找到的学生信息保存到列表中elif name is not "":  # 判断是否按姓名查if d['name'] == name:student_query.append(d)  # 将找到的学生信息保存到列表中show_student(student_query)  # 显示查询结果student_query.clear()  # 清空列表inputMark = input("是否继续查询?(y/n):")if inputMark == "y":mark = Trueelse:mark = Falseelse:print("暂未保存数据信息...")return'''3 删除学生成绩信息'''def delete():mark = True  # 标记是否循环while mark:studentId = input("请输入要删除的学生ID:")if studentId is not "":  # 判断要删除的学生是否存在if os.path.exists(filename):  # 判断文件是否存在with open(filename, 'r') as rfile:  # 打开文件student_old = rfile.readlines()  # 读取全部内容else:student_old = []ifdel = False  # 标记是否删除if student_old:  # 如果存在学生信息with open(filename, 'w') as wfile:  # 以写方式打开文件d = {}  # 定义空字典for list in student_old:d = dict(eval(list))  # 字符串转字典if d['id'] != studentId:wfile.write(str(d) + "\n")  # 将一条学生信息写入文件else:ifdel = True  # 标记已经删除if ifdel:print("ID为 %s 的学生信息已经被删除..." % studentId)else:print("没有找到ID为 %s 的学生信息..." % studentId)else:  # 不存在学生信息print("无学生信息...")break  # 退出循环show()  # 显示全部学生信息inputMark = input("是否继续删除?(y/n):")if inputMark == "y":mark = True  # 继续删除else:mark = False  # 退出删除学生信息功能'''4 修改学生成绩信息'''def modify():show()  # 显示全部学生信息if os.path.exists(filename):  # 判断文件是否存在with open(filename, 'r') as rfile:  # 打开文件student_old = rfile.readlines()  # 读取全部内容else:returnstudentid = input("请输入要修改的学生ID:")with open(filename, "w") as wfile:  # 以写模式打开文件for student in student_old:d = dict(eval(student))  # 字符串转字典if d["id"] == studentid:  # 是否为要修改的学生print("找到了这名学生,可以修改他的信息!")while True:  # 输入要修改的信息try:d["name"] = input("请输入姓名:")d["english"] = int(input("请输入英语成绩:"))d["python"] = int(input("请输入Python成绩:"))d["c"] = int(input("请输入C语言成绩:"))except:print("您的输入有误,请重新输入。")else:break  # 跳出循环student = str(d)  # 将字典转换为字符串wfile.write(student + "\n")   # 将修改的信息写入到文件print("修改成功!")else:wfile.write(student)  # 将未修改的信息写入到文件mark = input("是否继续修改其他学生信息?(y/n):")if mark == "y":modify()  # 重新执行修改操作'''5 排序'''def sort():show()  # 显示全部学生信息if os.path.exists(filename):  # 判断文件是否存在with open(filename, 'r') as file:  # 打开文件student_old = file.readlines()  # 读取全部内容student_new = []for list in student_old:d = dict(eval(list))  # 字符串转字典student_new.append(d)  # 将转换后的字典添加到列表中else:returnascORdesc = input("请选择(0升序;1降序):")if ascORdesc == "0":  # 按升序排序ascORdescBool = False           # 标记变量,为False表示升序排序elif ascORdesc == "1":  # 按降序排序ascORdescBool = True          # 标记变量,为True表示降序排序else:print("您的输入有误,请重新输入!")sort()  mode = input("请选择排序方式(1按英语成绩排序;2按Python成绩排序;3按C语言成绩排序;0按总成绩排序):")if mode == "1":  # 按英语成绩排序student_new.sort(key=lambda x: x["english"], reverse=ascORdescBool)elif mode == "2":  # 按Python成绩排序student_new.sort(key=lambda x: x["python"], reverse=ascORdescBool)elif mode == "3":  # 按C语言成绩排序student_new.sort(key=lambda x: x["c"], reverse=ascORdescBool)elif mode == "0":  # 按总成绩排序student_new.sort(key=lambda x: x["english"] + x["python"] + x["c"], reverse=ascORdescBool)else:print("您的输入有误,请重新输入!")sort()show_student(student_new)  # 显示排序结果''' 6 统计学生总数'''def total():if os.path.exists(filename):  # 判断文件是否存在with open(filename, 'r') as rfile:  # 打开文件student_old = rfile.readlines()  # 读取全部内容if student_old:print("一共有 %d 名学生!" % len(student_old))else:print("还没有录入学生信息!")else:print("暂未保存数据信息...")''' 7 显示所有学生信息 '''def show():student_new = []if os.path.exists(filename):  # 判断文件是否存在with open(filename, 'r') as rfile:  # 打开文件student_old = rfile.readlines()  # 读取全部内容for list in student_old:student_new.append(eval(list))  # 将找到的学生信息保存到列表中if student_new:show_student(student_new)else:print("暂未保存数据信息...")# 将保存在列表中的学生信息显示出来
def show_student(studentList):if not studentList:print("(o@.@o) 无数据信息 (o@.@o) \n")returnformat_title = "{:^6}{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^10}"print(format_title.format("ID", "名字", "英语成绩", "Python成绩", "C语言成绩", "总成绩"))format_data = "{:^6}{:^12}\t{:^12}\t{:^12}\t{:^12}\t{:^12}"for info in studentList:print(format_data.format(info.get("id"), info.get("name"), str(info.get("english")), str(info.get("python")),str(info.get("c")),str(info.get("english") + info.get("python") + info.get("c")).center(12)))if __name__ == "__main__":main()

源码及运行程序下载地址

学生管理系统的程序-python源码
https://download.csdn.net/download/duck251/87503040

http://www.ritt.cn/news/1945.html

相关文章:

  • wordpress博客大全百度seo如何优化关键词
  • 企业seo多少费用seo推广怎么做视频教程
  • 网站服务器名字文大侠seo博客
  • 个人游戏网站备案网址生成短链接
  • 个人建设视频网站制作推广普通话的内容
  • 做网站赌博的推广是不是犯罪的百度关键词查询网站
  • 潍坊网站建设建站如何做网页推广
  • 商业网站建设的方法金华百度推广公司
  • 秦皇岛建设局官方网站杭州网站关键词排名
  • 焦作网站建设公司排名什么是长尾关键词举例
  • 网站建设总体规划包括哪些方面外贸营销型网站建设公司
  • 网上做任务挣钱的网站制作网页的流程
  • wordpress老站开启多站点搜索引擎原理
  • 小学网站建设教育培训网页设计
  • ps网站专题怎么做外包网络推广营销
  • 直播nba免费观看佛山旺道seo
  • 河南创达建设工程管理有限公司网站哪个平台可以接推广任务
  • 网站建设维护大数据营销案例
  • 做流程图用什么网站好网站运营工作的基本内容
  • 介绍湛江网站邯郸百度推广公司
  • 定制软件开发报价慧聪网seo页面优化
  • 以家乡为主题做网站网站访问量统计工具
  • 网站建设技术合同优化问题
  • 电子商务网站建设实训感想济南优化网站关键词
  • 大德通网站建设百度扫一扫识别图片
  • 周浦做网站公司网络营销的常用工具
  • 国外做贸易网站百度招聘网最新招聘信息
  • 济南哪有做网站的网络营销概述
  • 前端做项目网站googleseo排名公司
  • 网站开发职业前景评估分销渠道