ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【python免费代码】设计一个简单的学生信息管理系统

2022-04-21 16:00:24  阅读:169  来源: 互联网

标签:f1 end python 代码 学生 input print 信息管理系统 line


文章目录

 


 

前言

设计一个简单的学生信息管理系统,实现以下功能(bug) :

  1. 录入学生信息,信息以文件方式存储
  2. 以学生学号或者学生姓名为条件查询该学生的信息,若没存在该学生得有反馈
  3. 删除学生信息,以学生学号为查询条件,若不存在该学生得有反馈
  4. 修改学生信息,以学生学号为查询条件,若不存在该学生得有反馈
  5. 统计学生总数
  6. 显示文件中所有学生的全部记录

一、理解

代码如何实现呢?
思路和知识点如下:

    1. 文件存储与关闭
    2. 函数的调用
    3. 文件操作

二、部分截图展示

 

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 


三、代码

  1 import sys
  2 
  3 
  4 def studentDateInput(): # 学生信息录入功能
  5     n = 0
  6     f = open("D:\\作业\\date\\studentsdate.txt",'a')
  7     studentNo = input("请输入学生学号:")
  8     f1 = open("D:\\作业\\date\\studentsdate.txt", 'r')
  9     findStudent = f1.readlines()
 10     for line in findStudent:
 11         if studentNo  in line:
 12             print("库中存在学号相同,错误404")
 13             n = n + 1
 14     if n==0:
 15             studentName = input("请输入学生姓名:")
 16             studentMath = input("请输入学生数学成绩:")
 17             studentEnglish = input("请输入学生英语成绩:")
 18             studentChinese = input("请输入学生语文成绩:")
 19             studentPolicy = input("请输入学生政治成绩:")
 20             studentSum = int(studentEnglish) + int(studentMath) + int(studentPolicy) + int(studentChinese)
 21             studentInto = studentNo + '\t' + studentName + '\t' + studentMath + '\t' + studentEnglish + '\t' + studentChinese + '\t' +studentPolicy + '\t' + str(studentSum) + '\n'
 22             f.write(studentInto)
 23             print("信息录入成功")
 24 
 25     f.close()
 26 
 27 # code by bug制造者BooST
 28 def checkStudentDate(): # 学生查询功能
 29     n,m = 0,0
 30     f = open("D:\\作业\\date\\studentsdate.txt", 'r')
 31     findStudent = f.readlines()
 32     findOp = input("按学号查询,请输入 1 , 按姓名查询,请输入 2   请输入:")
 33     if findOp == '1':
 34         findNo = input("请输入所查询的学生学号:")
 35         for line in findStudent:
 36             if findNo in line:
 37                 print(" 学号 ", end='\t')
 38                 print("姓名", end='\t')
 39                 print("数学", end='\t')
 40                 print("英语", end='\t')
 41                 print("语文", end='\t')
 42                 print("政治", end='\t')
 43                 print("总成绩", end='\t')
 44                 print("\n")
 45                 print(line)
 46                 n = n + 1
 47         if n == 0:
 48             print("无该学生的数据!!!")
 49 
 50     elif findOp == '2':
 51         findName = input("请输入所查询的学生姓名:")
 52         for line in findStudent:
 53             if findName in line:
 54                 print(" 学号 ", end='\t')
 55                 print("姓名", end='\t')
 56                 print("数学", end='\t')
 57                 print("英语", end='\t')
 58                 print("语文", end='\t')
 59                 print("政治", end='\t')
 60                 print("总成绩", end='\t')
 61                 print("\n")
 62                 print(line)
 63                 m = m + 1
 64         if m == 0:
 65             print("无该学生的数据!!!")
 66 
 67     else:
 68         print("输入有误")
 69 
 70     f.close()
 71 
 72 def delStudent():# 删除学生信息功能
 73     n = 0
 74     f1 = open("D:\\作业\\date\\studentsdate.txt", 'r')# f1 源文件
 75     findStudent = f1.readlines()
 76     f2 = open("D:\\作业\\date\\studentsdate.txt", 'w')# f2 修改后的文件
 77     delNo = input("请输入要删除的学生号数:")
 78     for line in findStudent:
 79         if delNo in line:
 80             continue
 81         f2.write(line)
 82         n = n + 1
 83         if n == len(findStudent):
 84             print("无该学生信息")
 85         else:
 86             print("学号{0}已经被删除".format(delNo))
 87 
 88         f1.close()
 89         f2.close()
 90 
 91 
 92 def modify(): # 修改
 93     n = 0 # 用于遍历
 94     mod_studentNo = input("请输入你要修改的学生的学号:")
 95     f1 = open("D:\\作业\\date\\studentsdate.txt", 'r') # f1 源文件
 96     line_modify = f1.readlines()
 97     f2 = open("D:\\作业\\date\\studentsdate.txt", 'w') # f2 修改后的文件
 98     for line in line_modify: # 遍历
 99         if mod_studentNo in line:
100             print("查询成功")# code by bug制造者BooST
101             studentName = input("请输入学生姓名:")
102             studentMath = input("请输入学生数学成绩:")
103             studentEnglish = input("请输入学生英语成绩:")
104             studentChinese = input("请输入学生语文成绩:")
105             studentPolicy = input("请输入学生政治成绩:")
106             studentSum = int(studentEnglish) + int(studentMath) + int(studentPolicy) + int(studentChinese)
107             studentInto = mod_studentNo + '\t' + studentName + '\t' + studentMath + '\t' + studentEnglish + '\t' + studentChinese + '\t' + studentPolicy + '\t' + str(studentSum) + '\n'
108             f2.write(studentInto)
109             print("修改成功")
110             continue
111         f2.write(line) # w方式打开的文件,会覆盖原有的文件,故要把原来的数据再次写入
112         n = n + 1
113     if n == len(line_modify):
114         print("库中无该所查询的学生数据")
115     else:
116         print("学号为{0}的学生信息已经修改".format(mod_studentNo))
117 
118     f1.close()
119     f2.close()
120 def sumStudentsNumber(): # 统计学生总数
121     f1 = open("D:\\作业\\date\\studentsdate.txt", 'r')  # f1 源文件
122     line_modify = f1.readlines()
123     print("库中有{0}名学生的记录".format(len(line_modify)))
124     f1.close()
125 # code by bug制造者BooST
126 
127 
128 def checkEveryStudents(): # 显示所有学生的记录
129     print(" 学号 ",end='\t')
130     print("姓名", end='\t')
131     print("数学", end='\t')
132     print("英语", end='\t')
133     print("语文", end='\t')
134     print("政治", end='\t')
135     print("总成绩", end='\t')
136     print("\n")
137     f = open("D:\\作业\\date\\studentsdate.txt", 'r')
138     findStudent = f.readlines()
139     for line in findStudent:
140         print(line)
141     f.close()# code by bug制造者BooST
142 
143 def main():
144     y = 1
145     while y:
146         print("*" * 30)
147         print("     请选择功能:")
148         print("              1.录入学生信息")
149         print("              2.单体学生信息查询")
150         print("              3.删除学生信息")
151         print("              4.修改学生信息")
152         print("              5.统计学生总数")
153         print("              6.打印总体学生信息")
154         print("              7.退出程序")
155         print("*" * 30)
156         op = input("                请输入:")
157 # code by bug制造者BooST
158         if op == '1':
159             studentDateInput()
160         elif op == '2':
161             checkStudentDate()
162         elif op == '3':
163             delStudent()
164         elif op == '4':
165              modify()
166         elif op == '5':
167              sumStudentsNumber()
168         elif op == '6':
169              checkEveryStudents()
170         elif op == '7':
171             print("欢迎您再次使用")
172             y = 0
173         else:
174              print("错误操作,被迫退出")
175              sys.exit()
176 
177 if __name__ == '__main__':
178     main()
179 # code by bug制造者BooST

四、总结

利用

    • 文件存储与关闭
    • 函数的调用
    • 文件操作
      这3点知识点就可以轻松应对

搜索

复制

<iframe></iframe>

标签:f1,end,python,代码,学生,input,print,信息管理系统,line
来源: https://www.cnblogs.com/BooSTstudy/p/16174505.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有