基于Python实现一个简单的学生管理系统
作者:嗨学编程 发布时间:2023-07-23 23:06:40
标签:Python,学生,管理系统
序言
小学妹说要毕业了,学了一学期Python等于没学,现在要做毕设做不出来,让我帮帮她,晚上去她家吃夜宵。
当时我心想,这不是分分钟的事情,还要去她家,男孩子晚上不要随便出门,要学会保护好自己,于是我花了十分钟给她写了一个发过去,这下不用去她家了~
代码实战
# 学生信息放在字典里面
student_info = [
{'姓名': '婧琪', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
{'姓名': '巳月', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
{'姓名': '落落', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
]
# 死循环 while True 当一直为真
# 源码自取君羊:708525271
while True:
# 输出
print(msg)
# 输入选项
num = input('请输入你想要进行操作: ')
# 进行判断, 判断输入内容是什么, 然后返回相应结果
"""
if .... elif... 多条件判断语句
"""
if num == '1':
# 新建学生信息, 输入内容 input 输入的内容, 返回字符串数据类型
name = input('请输入学生姓名: ')
chinese = int(input('请输入语文成绩: '))
math = int(input('请输入数学成绩: '))
english = int(input('请输入英语成绩: '))
# 字符串与字符串相加: 字符串拼接 int 整数数据类型
score = chinese + math + english # 总分
# 把信息内容, 放入字典里面
student_dit = {
'姓名': name,
'语文': chinese,
'数学': math,
'英语': english,
'总分': score,
}
# 把学生信息 添加到列表里面
student_info.append(student_dit)
elif num == '2':
# for循环遍历, 把列表里元素 一个一个提取出来 \t
print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
for student in student_info:
# student 字典数据类型, 根据键值对, 提取相关内容
print(
student['姓名'], '\t\t',
student['语文'], '\t\t',
student['数学'], '\t\t',
student['英语'], '\t\t',
student['总分'],
)
elif num == '3':
name = input('请输入查询学生姓名: ')
# 遍历 for else 用法
for student in student_info:
# 判断 查询名字和学生名字 是否一致
if name == student['姓名']:
print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
print(
student['姓名'], '\t\t',
student['语文'], '\t\t',
student['数学'], '\t\t',
student['英语'], '\t\t',
student['总分'],
)
# 跳出本次循环 continue 继续循环下面的代码
break
else:
# 字符串格式化方法 format
print('查无此人, 没有{}学生信息!'.format(name))
elif num == '4':
name = input('请输入删除学生姓名: ')
# 把每一个学生的信息, 一个一个提取出来
for student in student_info:
# 判断, 输入的学生姓名 是否在学生信息库里面
if name == student['姓名']:
# 打印成绩, 查看学生情况
print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
print(
student['姓名'], '\t\t',
student['语文'], '\t\t',
student['数学'], '\t\t',
student['英语'], '\t\t',
student['总分'],
)
# 输入是否要真的删除学生信息 <防止>
choose = input(f'是否确定要删除{name}信息(y/n)')
# or 或者的意思
if choose == 'y' or choose == 'Y':
# 删除信息 移除列表里面元素 remove()
student_info.remove(student)
print(f'{name}信息已经被删除!')
break
elif choose == 'n' or choose == 'N':
# 跳出循环
break
else:
print('查无此人, 没有{}学生信息!'.format(name))
elif num == '5':
print('修改学生信息')
name = input('请输入删除学生姓名: ')
# 把每一个学生的信息, 一个一个提取出来
for student in student_info:
# 判断, 输入的学生姓名 是否在学生信息库里面
if name == student['姓名']:
# 打印成绩, 查看学生情况
print('姓名\t\t语文\t\t数学\t\t英语\t\t总分')
print(
student['姓名'], '\t\t',
student['语文'], '\t\t',
student['数学'], '\t\t',
student['英语'], '\t\t',
student['总分'],
)
# 输入是否要真的删除学生信息 <防止>
choose = input(f'是否要修改{name}信息(y/n)')
# or 或者的意思
if choose == 'y' or choose == 'Y':
# 修改操作 和 新建学生信息 有点类似
name = input('请输入学生姓名: ')
chinese = int(input('请输入语文成绩: '))
math = int(input('请输入数学成绩: '))
english = int(input('请输入英语成绩: '))
# 字符串与字符串相加: 字符串拼接 int 整数数据类型
score = chinese + math + english # 总分
# 修改, 做替换 字典修改值
student['姓名'] = name
student['语文'] = chinese
student['数学'] = math
student['英语'] = english
student['总分'] = score
print(f'{name}信息已经修改了!')
break
elif choose == 'n' or choose == 'N':
# 跳出循环
break
else:
print('查无此人, 没有{}学生信息!'.format(name))
效果展示
来源:https://blog.csdn.net/fei347795790/article/details/128494906


猜你喜欢
- 本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下:我们以下面这个list为例,删除其中所有值为
- BP神经网络是最简单的神经网络模型了,三层能够模拟非线性函数效果。难点:如何确定初始化参数?如何确定隐含层节点数量?迭代多少次?如何更快收敛
- 在我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大
- 基础知识使用框架的优点稳定性和可扩展性强可以降低开发难度,提高了开发效率Flask诞生于2010年,是Armin ronacher用Pyth
- Oracle shutdown的时候突然断电,导致使用sql/plus启动时无法连接到数据库,具体描述为:connection can no
- modf()方法返回两个项的元组x的整数小数部分。这两个元组具有相同x符号。则返回一个浮点数的整数部分。语法以下是modf()方
- UserAgent = Trim(Lcase(Request.Serve
- 我就废话不多说了,直接上代码吧!import Imagefrom datetime import datetimeimport osstr
- 前言本篇文章分享一下我在实际开发小程序时遇到的需要获取用户当前位置的问题,在小程序开发过程中经常使用到的获取定位功能。uniapp官方也提供
- 为了庆祝jQuery的四周岁生日, jQuery的团队荣幸的发布了jQuery Javascript库的最新主要版本! 这个版本包含了大量的
- 本文实例讲述了python统计一个文本中重复行数的方法。分享给大家供大家参考。具体实现方法如下:比如有下面一个文件2312我们期望得到2,2
- 在我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大
- PYTHON3介绍Python是著名的“龟叔”Guido van Rossum在 * 圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语
- 前言:上一篇博客我用AOP+AbstractRoutingDataSource实现了MySQL读写分离,自己写代码实现判断该使用哪个数据源挺
- 背景:周末归纳下mysql的日志文件,其中general_log在mysql入侵中已经用到过,binlog即将会用到。注:mysql版本为5
- 环境: windows 7 + Python 3.5.2 + Selenium 3.4.2 + Chrome Driver 2.29 + C
- asp函数代码 代码如下:<% Function RemoveHTML(str) Dim objRegExp, Match,strHT
- 技巧之一:提高使用Request集合的效率 访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的
- 1、在 Windows 设置临时环境变量 cmd命令窗口 输入 path=%path%;E:\soft\python-3.5.2-embed
- 考察对于知识的理解,除了实际的代码运用,还有一种方法就是问答类的题型。不同于普通的概念叙述,小编认为即使是面试题也会带有一些数学题目的影响,