python中answer_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):
pass
def calculate(self, question):
list = question.split(' ')
a = int(list[0])
b = int(list[2])
if list[1] == '+':
return a + b
elif list[1] == '-':
return a - b
elif list[1] == '*':
return a * b
elif 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 = tno
def 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 = sno
def 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中answer_Python初学之学生和老师的question和answer问题相关推荐
- Python初学之学生和老师的question和answer问题
1.问题需求 定义一个类:Person,有 name, age 属性 定义一个子类:Teacher, 有 tno(教师号) 属性, 有 question() 定义一个子类:Student, 有 sn ...
- python中answer_python新手关于一个实例:提示 answer = input()这行有问题,复制粘贴的,请高手指正...
defisEqual(num1,num2):#定义一个叫做isEqual的函数用来比较两个数字的大小,包含两个参数ifnum1 def isEqual(num1, num2):#定义一个叫做isEqu ...
- 40、查询选修“张三”老师所授课程的学生中成绩最高的学生姓名及其成绩(重要top)
-- 40.查询选修"张三"老师所授课程的学生中成绩最高的学生姓名及其成绩(重要top)SELECT st.s_name,sc.s_score FROM student as st ...
- python从键盘输入若干学生姓名、保存在字符串列表中_Python基础语法练习题
1.输出当前时间 #答案代码 #strftime 将datetime 格式转成字符串格式 from datetime import datetime now=datetime.now() print( ...
- 学霸计算机考试新闻,陪学生考试老师意外考上哈佛 堪称学霸中的战斗机
导读:[陪学生考试老师意外考上哈佛 堪称学霸中的战斗机]"感觉很神奇,我们的老师考上了哈佛!"杨老师被哈佛大学录取的消息在学校不胫而走,还上了喜报,学生和家长都觉得意外又惊奇.重庆 ...
- 小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日 是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?
小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日 是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 3月4日 3月5日 3 ...
- python初学一(python中 ~ 号的用法)
一.python中 ~ 的用法 1.~ 作用于正负数的时候 表示按位取反 查看:Python中按位取反运算符(~)在计算机中的计算过程 简单计算: ~ a = - ( a + 1 ) 2.~ 在num ...
- linux中python如何调用matlab的数据_?如何在Python中加入多个数据帧?
全文共2235字,预计学习时长7分钟 来源:Pexels 初学Python编程的人,面临的是各种未知的挑战. 下面是一个几乎让所有更有抱负的数据科学家都感到意外的场景: 你正在处理一个从多个源收集数据 ...
- css中如何实现帧布局_?如何在Python中加入多个数据帧?
全文共2235字,预计学习时长7分钟 来源:Pexels 初学Python编程的人,面临的是各种未知的挑战. 下面是一个几乎让所有更有抱负的数据科学家都感到意外的场景:你正在处理一个从多个源收集数据的 ...
最新文章
- python将string转换为json_python -- 将string转换成dict的方法
- java.lang.Runtime
- MySQL - Explain深度剖析
- Oracle原理:11g中的网络配置
- 【Java文件操作】一个将文件转化为十六进制字节数组的工具(可以以8086汇编查看内存的格式输出,很优雅)
- 改善用户体验之Alert提示效果
- LeetCode之Valid Parentheses
- 用Jackson进行Java JSON处理
- QT学习笔记(九):遍历容器-迭代器(iterators)
- Hadoop MapReduce InputFormat基础
- Linux常用最基础命令总结
- 还原python源码_python 的混淆后的代码可以还原么
- ffmpeg (一):起步
- C++_public、private、protected权限介绍
- 苹果在中国的审核规律探索一
- c语言ODBC连接数据库
- 2021年山东省安全员C证报名考试及山东省安全员C证操作证考试
- hibernate、ibatis、freyja的价值
- java斜体_Java可以指示字体是否为斜体字
- GPU技术支持-基础篇-包管理工具
热门文章
- 不叹惜、不呼唤我也不哭泣
- RISC-V SiFive U54内核——中断和异常详解
- 苹果 python蚂蚁森林自动收能量_Python自动化收取蚂蚁森林能量,不错过暗恋的她...
- 在哪下载短视频?有哪些网站可以避免侵权?
- 一个完整的大作业--广州市社会保障(市民)卡服务网
- MODIS数据批量裁剪并合成月尺度数据:以MOD13A1为例
- Go-Micro微服务框架使用
- Pie Chart(nvd3)
- 汇编51单片机密码锁(含论文、程序、AD图)单片机课程设计
- 【面向学渣编程】囚犯问题(十分详解,含表格,适合新手)