python基础编程Day13:面向对象
时间:2019-01-18
本文章向大家介绍python基础编程Day13:面向对象,主要包括python基础编程Day13:面向对象使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
练习:
学生成绩管理系统
1.根据姓名查看学生所有成绩
2.查看所有人的某学科成绩
3.查看总平均分
4.查看某人的某学科成绩
5.根据姓名删除学生信息
简单版
class student:
def get_score(self,name='',subject=''):
self.name = name
if name == '':
if subject == '':
print(scores.items)
elif subject in subjects:
for k in scores:
print(scores[k][subject])
else:
print('Not exists!')
elif name in scores:
if subject == None:
print(scores[name])
elif subject in scores[name]:
print(scores[name][subject])
else:
print('Not exists!')
else:
print('Not exists!')
def del_score(self,name):
self.name = name
if name in scores:
scores.pop(name)
def get_aver():
i, j, k, l = 0, 0, 0, 0
global scores
for key in scores:
i += int(scores[key]['English'])
j += int(scores[key]['math'])
k += int(scores[key]['music'])
l += 1
print('英语平均分:%f' % (i / l))
print('数学平均分:%f' % (j / l))
print('音乐平均分:%f' % (k / l))
scores = {"Albert": {"English": 60, "math": 50, "music": 45}, "Karry": {"English": 95, "math": 45, "music": 55}, "Jay": {"English": 90, "math": 90, "music": 90}}
subjects = ["English", "math", "music"]
if __name__ == "__main__":
stu = student()
tag = True
while tag:
print('1.查看个人成绩\n2.查看学科成绩\n3.查看总平均分\n4.查看个人单科成绩\n5.删除成绩信息\n退出请按q')
choice = input('请输入操作:')
if choice == '1':
name = input('请输入学生姓名:')
stu.get_score(name)
continue
elif choice == '2':
subject = input('请输入学科名:')
stu.get_score(subject)
continue
elif choice == '3':
get_aver()
continue
elif choice == '4':
name = input('请输入学生姓名:')
subject = input('请输入查询学科:')
stu.get_score(name,subject)
continue
elif choice == '5':
name = input('请输入需要删除信息的学生姓名:')
stu.del_score(name)
continue
elif choice == 'q':
tag = False
break
else:
print('指令无效')
优化:待写
- 网页基础篇之如何制作简单的静态网页
- Mybatis.Net 整合 ODP.NET Managed
- 通过maven test 报org.apache.ibatis.binding.BindingException: Invalid bound statement
- 知道这几点,用微信小程序留住海量客户不是问题
- C#:DataTable映射成Model
- jenkins 多选框
- Oracle:ODP.NET Managed 小试牛刀
- C#:Func的同步、异步调用
- Python之路-day6
- hadoop1.2.1伪分布模式配置
- 有了它们,真的能让孩子赢在起跑线上吗?
- Unity 使用快速教程
- JavaScript基础
- jstack jstat 简易使用教程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- V8 最佳实践:从 JavaScript 变量使用姿势说起
- 小程序Canvas实践指南
- vue源码解读 - diff算法
- try catch引发的性能优化深度思考
- Babel的另类实践 - 重构古董代码
- 如何无痛的为你的前端项目引入多线程
- 阔别两年,webpack 5 正式发布了!
- NumPy 数据归一化、可视化
- 迭代器怎么就节省内存了?
- Go 多版本管理
- 空谈分布式系统设计之幂等性
- 空谈发件箱模式(outbox pattern)
- 《一起学sentinel》六、Slot的子类及实现之FlowSlot和DegradeSlot
- Hive UDF/UDAF 总结
- 3分钟短文:用Laravel发一封“漂洋过海”的电子邮件