(1)定义交互输入变量
主要用于展示学生成绩管理系统的操作界面。
(2)定义学生成绩信息变量
主要用于学生成绩信息的存取。
s_info = """
*****************************************************
【学生成绩管理系统】
q. 退出学生成绩系统
1. 显示学生成绩信息
2. 新建学生成绩信息
3. 查询学生成绩信息
4. 删除学生成绩信息
5. 修改学生成绩信息
******************************************************"""
students=[]
2.读取学生成绩信息
主要是从TXT文件中读取学生成绩信息,并保存到学生成绩变量中。
f=open("students.txt","r+")
for st in f.readlines():
students.append(eval(st))
f.close()
3.循环等待操作指令并执行
主要是循环等待输入的学生管理系统操作指令,获取到操作指令后执行对学生成绩信息的显示、新建、查询、删除、修改操作。
while True:
print(s_info)
handle = input('请选择你要的操作选项:')
if handle == 'q':
print('q. 退出系统')
break
elif handle == '1':
s_display(students)
elif handle == '2':
s_new(students)
elif handle == '3':
s_find(students)
elif handle == '4':
s_delect(students)
elif handle == '5':
s_modify(students)
else:
print('请输入正确的操作选项!')
4.编写操作指令执行函数
(1)显示学生成绩信息函数
主要功能是显示所有学生成绩信息。
def s_display(students):
print('1. 显示全部信息')
print('姓名\t语文\t数学\t英语\t总分')
for stu in students:
print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
(2)新建学生成绩信息函数
主要是新建学生成绩信息,并更新保存学生成绩信息的文件。
def s_new(students):
print('2. 新建学生信息')
name = str(input('请输入学生的姓名:'))
chinese = int(input('请输入学生的语文成绩:'))
math = int(input('请输入学生的数学成绩:'))
english = int(input('请输入学生的英语成绩:'))
total = chinese + math + english
stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
students.append(stu)
s_write_to_file(students)
(3)查询学生成绩信息函数
主要是查询给定姓名的学生成绩信息。
def s_find(students):
print('3. 查询学生信息')
name = input('请输入你要查询学生的姓名:')
for stu in students:
if name == stu['name']:
print('姓名\t语文\t数学\t英语\t总分')
print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
break
else:
print('该学生不存在, 请检查名字是否输入正确!')
s_write_to_file(students)
(4)删除学生成绩信息函数
主要是删除给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。
def s_delect(students):
print('4. 删除学生信息')
name = input('请输入你要删除学生的姓名:')
for stu in students:
if name == stu['name']:
students.remove(stu)
break
else:
print('该学生不存在, 请检查名字是否输入正确!')
s_write_to_file(students)
(5)修改学生成绩信息函数
主要是修改给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。
def s_modify(students):
print('5. 修改学生信息')
name = input('请输入你要修改学生的姓名:')
for stu in students:
if name == stu['name']:
print('(如果不想修改,直接回车!)')
name = input('请重新输入学生的姓名:')
chinese = input('请重新输入学生的语文成绩:')
math = input('请重新输入学生的数学成绩:')
english = input('请重新输入学生的英语成绩:')
if name:
stu['name'] = str(name)
if chinese:
stu['chinese'] = int(chinese)
if math:
stu['math'] = int(math)
if english:
stu['english'] = int(english)
stu['total'] = stu['chinese'] + stu['math'] + stu['english']
break
else:
print('该学生不存在, 请检查名字是否输入正确!')
s_write_to_file(students)
5.保存学生成绩信息函数
主要实现学生成绩信息的保存更新。
def s_write_to_file(students):
f=open("students.txt","r+")
for s in students:
f.write(str(s)+"\n")
f.close()
完整源代码
def s_write_to_file(students):
f=open("students.txt","r+")
for s in students:
f.write(str(s)+"\n")
f.close()
def s_display(students):
print('1. 显示全部信息')
print('姓名\t语文\t数学\t英语\t总分')
for stu in students:
print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
def s_new(students):
print('2. 新建学生信息')
name = str(input('请输入学生的姓名:'))
chinese = int(input('请输入学生的语文成绩:'))
math = int(input('请输入学生的数学成绩:'))
english = int(input('请输入学生的英语成绩:'))
total = chinese + math + english
stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
students.append(stu)
s_write_to_file(students)
def s_find(students):
print('3. 查询学生信息')
name = input('请输入你要查询学生的姓名:')
for stu in students:
if name == stu['name']:
print('姓名\t语文\t数学\t英语\t总分')
print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
break
else:
print('该学生不存在, 请检查名字是否输入正确!')
s_write_to_file(students)
def s_delect(students):
print('4. 删除学生信息')
name = input('请输入你要删除学生的姓名:')
for stu in students:
if name == stu['name']:
students.remove(stu)
break
else:
print('该学生不存在, 请检查名字是否输入正确!')
s_write_to_file(students)
### 一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
![]()
### 二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
![]()
### 三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
![]()