Python实现学生系统
# 4. 修改之前的学生信息管理程序,实现添加菜单和选择菜单操作功能:
# 菜单:
# +-----------------------------+
# | 1) 添加学生信息 |
# | 2) 查看所有学生信息 |
# | 3) 修改学生的成绩 |
# | 4) 删除学生信息 |
# | q) 退出 |
# +-----------------------------+
# 请选择: 1
# 请输入姓名:....
# 请选择: 3
# 请输入修改学生的姓名: ....
# (要求每个功能都对应一个函数) def input_student():
# 此函数获取学生信息,并返回学生信息的字典的列表
L = []
# d = {} # 此处所有学生将共用一个字典,会出错
while True:
name = input("请输入学生姓名: ")
if not name:
break
age = int(input("请输入学生年龄: "))
score = int(input("请输入学生成绩: "))
d = {} # 重新创建一个新的字典
d['name'] = name
d['age'] = age
d['score'] = score
L.append(d)
return L def output_student(L):
# 以表格形式再打印学生信息
print('+------------+------+-------+')
print('| name | age | score |')
print('+------------+------+-------+')
for d in L: # d绑定的是字典
t = (d['name'].center(12),
str(d['age']).center(6),
str(d['score']).center(7))
line = "|%s|%s|%s|" % t # t是元组
print(line)
print('+------------+------+-------+') # 写一个打印菜单的函数
def show_menu():
print('+-----------------------------+')
print('| 1) 添加学生信息 |')
print('| 2) 查看所有学生信息 |')
print('| 3) 修改学生的成绩 |')
print('| 4) 删除学生信息 |')
print('| q) 退出 |')
print('+-----------------------------+') # 此函数用来存改学生的信息
def modify_student_info(lst):
name = input("请输入要修改学生的姓名: ")
for d in lst:
if d['name'] == name:
score = int(input("请输入新的成绩: "))
d['score'] = score
print("修改", name, '的成绩为', score)
return
else:
print("没有找到名为:", name, '的学生信息') # 定义一个删除学生信息的函数
def delete_student_info(lst):
name = input("请输入要删除学生的姓名: ")
for i in range(len(lst)): # 从0开始把所有索引取出一遍
if lst[i]['name'] == name:
del lst[i]
print("已成功删除: ", name)
return True
else:
print("没有找到名为:", name, "的学生") # 定义一个主函数,用来获取键盘操作,实现选择的功能
def main():
docs = [] # 此列表用来存储所有学生的信息的字典
while True:
show_menu()
s = input("请选择: ")
if s == '':
docs += input_student()
elif s == '':
output_student(docs)
elif s == '': # 修改学生成绩
modify_student_info(docs)
elif s == '': # 删除学生成绩
delete_student_info(docs)
elif s == 'q':
return # 结束此函数执行,直接退出 main()
总结一下思路:学生的所有信息都是输入进变量里,然后将变量指向字典对应键的值,由此单个学生的信息都存入字典中,再将这些字典存在列表中,遍历列表遍历学生信息
Python实现学生系统的更多相关文章
- Python作业-选课系统
目录 Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 title: Python作业- ...
- 转 让Python在Android系统上飞一会儿
让Python在Android系统上飞一会儿 地址: http://blog.csdn.net/ccwwff/article/details/6208260
- Python在Win10系统的安装和使用配置
Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等. 下载 ...
- python为什么叫胶水语言?python为什么是系统脚本?
python为什么叫胶水语言?python为什么是系统脚本? 特点是什么? python现在最广为闻名的形容大概有这些: 他是很好的胶水语言.什么是胶水语言?反正当时的我不知道. 他是新一代的系统 ...
- python进行linux系统监控
python进行linux系统监控 Linux系统下: 静态指标信息: 名称 描述 单位 所在文件 mem_total 内存总容量 KB /proc/meminfo disks 磁盘相关信息 - ...
- Python获取当前系统时间
Python获取当前系统时间 import time #返回当前时间 def GetNowTime(): return time.strftime("%Y-%m-%d %H:%M:% ...
- 盲法介绍及python盲打练习系统
目录 一:盲打简介与优点 二:如何练习 三:键盘字母排列顺序的口诀 四:python打字练习系统 一:盲打简介与优点 简介:盲打是指打字的时候不用看键盘或看稿打字时的视线不用来回于文稿和键盘之间的 ...
- Django入门到进阶-更适合Python小白的系统课程
Django入门到进阶-更适合Python小白的系统课程 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身 ...
- 基于Python实现的系统SLA可用性统计
基于Python实现的系统SLA可用性统计 1. 介绍 SLA是Service Level Agreement的英文缩写,也叫服务质量协议.根据SRE Google运维解密一书中的定义: SLA是服务 ...
随机推荐
- VMware三个版本号workstation、server、esxi的差别
VMware三个版本号 workstation: 单机级.用在个人桌面系统中.须要操作系统支持 servier:工作组级,用于服务器.须要操作系统支持 esxi:企业级,用于服务器,不须要操作系统支持 ...
- JavaScript中操作有些DOM时关于文本节点和元素节点的问题。
初学JavaScript时候,经常遇到需要操作的内容因为文本节点而使操作更麻烦或者不能达到效果. 例: <ul id="ull"> <li>111&l ...
- Linux MySql5.6.38安装过程
1.下载mysql安装包mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz 2.用xftp工具将其上传到Linux服务器上的soft文件夹,没有的话先创建 [root ...
- C 六学家的困惑 【YY】 (2019年华南理工大学程序设计竞赛(春季赛))
冲鸭,去刷题:https://ac.nowcoder.com/acm/contest/625/C 小六喜欢两全其美的事情,今天就正好有一个这样的机会. 小六面前有两根管子,管子里面放满了数字为1到9的 ...
- CSS属性之word-break:break-all强制性换行
一般情况下,元素拥有默认的white-space:normal(自动换行,PS:不换行是white-space:nowrap),当录入的文字超过定义的宽度后会自动换行,但当录入的数据是一堆没有空 ...
- [Luogu P1120]小木棍·加强版
#\(\mathcal{Description}\) 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过 \(50\) . 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开 ...
- HDU 1203 01背包变形题,(新思路)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1203 I NEED A OFFER! Time Limit: 2000/1000 MS (Java/ ...
- 浅谈基于FormsAuthentication的认证
一般情况下,在我们做访问权限管理的时候,会把用户的正确登录后的基本信息保存在Session中,以后用户每次请求页面或接口数据的时候,拿到 Session中存储的用户基本信息,查看比较他有没有登录和能否 ...
- iOS如何在一个包上切换正式环境和测试环境
最近项目处于测试阶段,所以免不了每天都得打包给测试人员,由于我们公司规模比较大,项目环境也分为了三种:测试环境.预上线(预生产)环境.上线(生产)环境.所以每到了测试后期,每天打包的时间也占了不少,遇 ...
- BZOJ2194: 快速傅立叶之二(NTT,卷积)
Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 1776 Solved: 1055[Submit][Status][Discuss] Descript ...