Python初学之学生和老师的question和answer问题
1、问题需求
定义一个类:Person,有 name, age 属性
定义一个子类:Teacher, 有 tno(教师号) 属性, 有 question()
定义一个子类:Student, 有 sno(学号) 属性, 有 answer()打印 老师的信息 和 学生的信息
老师调用 question(), 把 下面的字符串持久到 question.txt 文件
1 + 2 =
3 * 5 =
9 - 1 =
100 * 3 =
3000 - 1000 =
学生调用answer(),从 question.txt 文件中读取每行数据,封装成一个对象(包括 结果答案);
计算每道题的答案并把 试题内容和答题结果 打印到控制台
2、 代码实现
# 通过切分问题,计算出答案
class Answer():def __init__(self):passdef calculate(self, question):list = question.split(' ')a = int(list[0])b = int(list[2])if list[1] == '+':return a + belif list[1] == '-':return a - belif list[1] == '*':return a * belif list[1] == '/':return a / b# Person基类
class Person(object):def __init__(self):pass# 教师类,将问题持久化到文本中
class Teacher(Person):def __init__(self, tno):super(Teacher, self).__init__()self.tno = tnodef question(self):list = ['1 + 2 = ', '3 * 5 = ', '9 - 1 = ', '100 * 3 = ', '3000 - 1000 = ']# list.append(content)file = open('question.txt', 'w+')for i in list:file.write(i + '\n')def __str__(self):return '老师编号:'+str(self.tno)# 学生类,将文本答案逐行读出,调用Answer类返回每一行的答案
class Student(Person):def __init__(self, sno):super(self.__class__, self).__init__()self.sno = snodef answer(self):file = open('question.txt', 'r+')lines = file.readlines()for i in lines:a = Answer().calculate(i.strip('\n'))print(i.strip('\n'), a)def __str__(self):return '学生编号:'+str(self.sno)t = Teacher(1)
t.question()
s = Student(2)
print(t)
print(s)
s.answer()
3、运行结果
4、总结
这份题目很适合做python初学的练习。
这里涉及到了字符串分割、文件读写、元组的使用和类的继承等知识点。
初学python,对python的语法和类的使用还不是很熟悉,有什么不足的地方还请大家多多指点。
Python初学之学生和老师的question和answer问题相关推荐
- python中answer_Python初学之学生和老师的question和answer问题
1.问题需求 定义一个类:Person,有 name, age 属性 定义一个子类:Teacher, 有 tno(教师号) 属性, 有 question() 定义一个子类:Student, 有 sno ...
- python爬虫教程-Python教父|廖雪峰老师官方爬虫教程,13个案例带你全面入门!
原标题:Python教父|廖雪峰老师官方爬虫教程,13个案例带你全面入门! Python简直就是万能的,你用Python都做过哪些事? 用网页看各大网站的VIP视频,用python下载? 用Pytho ...
- 基于python+django+vue学生作业管理系统
学生作业管理考试系统可实现学生作业在线提交,管理员管理用户,系统管理维护,共分为五大主要子系统:管理员模块,登陆,教师模块,学生模块,后台管理.通过运行本系统,学生和管理员通过同一界面登陆,登陆后可各 ...
- python+vue+elementui学生考试成绩数据分析与可视化系统django
运用改系统可以有效的方便老师同学查看成绩, 运用学生成绩管理维护系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够节省时间,还能使学生更好的查看自己的成绩变化. 学生成绩管理是一个 ...
- [Python+Django]Web学生信息管理系统数据库设计及系统实现
本文我们完成数据的设计,并通过Django框架完成数据库构建同时利用Django框架模式实现学生信息管理系统的功能. 简单的包装下毕设应该没问题了. Python,Mysql,Pycharm的安装本文 ...
- python大作业 学生管理系统 以Excel(xls)格式导入文件
简单的说一下每个板块的作用 这个load函数,是导入进来文件的数据 def load():data=xlrd.open_workbook('data.xls')table=data.sheets()[ ...
- python计算学生平均年龄_CodeSalt | Python解决按学生年龄排序的实际问题
Python解决按学生年龄排序的实际问题 问题:定义一个Class:包含姓名name.性别gender.年龄age,需要按年龄给学生排序. 输入:包含学生对象的List. 输出:按照年龄age进行排序 ...
- python学生管理系统界面-Python实现GUI学生信息管理系统
本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下 项目环境: 软件环境: OS:RedHat6.3 Lib:Pygtk Language:Python S ...
- 相比学习好的学生,老师最喜欢努力认真学习的学生
相比学习好的学生,老师还是更喜欢努力学习的学生. 好多人有这样的错觉,谁学习好,老师就喜欢谁,谁就是老师面前的大红人,可能有的老师是这样的吧,但是,对于我来说,相比那些学习好的学生,我还是更喜欢爱学习 ...
最新文章
- java gui拖拽_Java Swing拖放
- c语言中的字符串总是以,C语言字符串的结束标志是什么?
- C语言: 函数调用的开销
- operator、explicit与implicit
- c++ 虚函数,纯虚函数的本质区别
- MSChart中转义符
- 非大学生学计算机,浅谈非计算机专业大学生的计算机教学
- 如何使用 Laravel Facades ?
- 【语言处理与Python】4.7算法设计
- BZOJ2217 [Poi2011]Lollipop 【贪心】
- Lanenet论文解读
- Win10教育版变为企业版
- [kubernetes]-kubernetes+nfs创建高可用mysql
- 【Django BUG 已解决】You must either define the environment variable DJANGO_SETTINGS_MODULE or call ...
- latex公式图片识别(转换为latex语法格式)
- Qt 学习(三) —— Qt 模块
- 循环遍历时跳出循环方法汇总
- linux脚本获取经纬度,JS实现根据详细地址获取经纬度功能示例
- 16天记住7000考研单词(第一天)
- python抓取微博评论的图片_用Python语言爬虫抓取微博评论图文教程