基于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
0
投稿
猜你喜欢
- Win7或Windows server 2008中IIS7支持ASP+Access解决方法:1. 让IIS7支持ASPWin7或Window
- 当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度。笔者做了一个简单的尝试,1亿条数据,分100张表。具体实现过程如下。首先
- 一、密码式给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的
- 需要分件html源代码 此例中的被抓取的html源代码如下 <p align=left>2004年8月24日星期二;白天:晴有时
- 迭代器&生成器在 Python 中,迭代器和生成器都是用来遍历数据集合的工具,可以按需逐个生成或返回数据,从而避免一次性加载整个数据
- server:#coding=utf-8from BaseHTTPServer import BaseHTTPRequestHandleri
- 下面代码即是VBScript代码在服务器端编译后的显示内容,如果我们把这段代码保存成静态文件(HTML)或JS文件,那么上一篇提出的问题就迎
- 本文实例为大家分享了python实现超市管理系统的具体代码,供大家参考,具体内容如下这个相比上个程序简单很多,首先他没有太过复杂的逻辑关系,
- JS获取多选框checkbox被选中的个数。var checkbox = document.getElementsByName("
- 这将为我们的团队节省每天重复的数据处理时间......简介如果你目前在一个数据或商业智能团队工作,你的任务之一可能是制作一些每日、每周或每月
- 一、介绍说明mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形
- python的pdb调试命令的命令整理及实例一、命令整理pdb调试命令完整命令简写命令描述argsa打印当前函数的参数breakb设置断点c
- 从matplotlib工具栏源码探析一(禁用工具栏、默认工具栏和工具栏管理器三种模式的差异)一文可知matplotlib内置实现了多个工具项
- 本文实例讲述了JavaScript导出Excel的方法。分享给大家供大家参考。具体实现方法如下:<html xmlns="h
- 之前都是直接拿sax,或dom等库去解析xml文件为Python的数据类型再去操作,比较繁琐,如今在写Django网站ajax操作时json
- 树形目录显示程序问题描述:在我们项目中常常会出现自关联的数据表,如果我们从整体看去,整个表就呈现为一个树形数据结构(对于复杂的情况,它可能变
- 在一般的MIS应用中,会有大量的报表,此时我们可以在后台数据库编写相应的视图或存储过程,用ASP通过ADO调用以完成报表工作。下面用一个例子
- (下面的代码原来我想用折叠的代码的,但是在google里面老是添加不了折叠的代码,所以就整屏的贴出来了,望大家不要见外。) 朋友的比较好的存
- 本文实例讲述了Python实现翻转数组功能。分享给大家供大家参考,具体如下:题目描述给定一个长度为n的整数数组a,元素均不相同,问数组是否存
- 论坛上看到有人问ASP是否可以定时触发事件,我就顺便做了一个玩玩。其实做这个的原理是很简单的,只是我们当时没有仔细的去想想该怎么实现,我这里