Python练习-一个怪癖老师的不可描述
# 编辑者:闫龙
# 定义老师类,把老师的属性:薪资,隐藏起来,然后针对该属性开放访问接口
# egon老师有多种癖好,把这种癖好隐藏起来,然后对外提供访问接口
# 而且以后还会egon老师培养很多其他的癖好,对外开放修改接口可以新增癖好
# 并且需要保证新增的癖好都是字符串类型,否则无法增加成功
menu = ["查看工资","查看怪癖","添加怪癖"] #定义一个菜单
class Teacher:#老师类
def __init__(self,name,pay):#初始化时传入名字和工资
self.__pay = pay#工资作为隐藏属性
self.name = name
def GetPay(self):#查看工资方法
print(self.name,"的工资是",self.__pay,"元,请保密,千万不要贴在办公室的墙上")
class Wack:#定义怪人类
def __init__(self,hobby):#初始化时传入hobby列表
self.__hobby = hobby#怪癖作为隐藏属性
def addHobby(self,choice):#添加新怪癖方法
self.__hobby.append(choice)#添加新的怪癖到隐藏属性hobby中
print("怪癖添加完成")
def LookHobby(self):#查看怪癖方法
print(self.name,"的的怪癖如下:")
for i in self.__hobby:
print(i)
class WackTeacher(Teacher,Wack):#定义怪老师类,继承老师和怪人类
def __init__(self,name,pay,hobby):#初始化时将怪人,老师初始化时的参数逐一接收
Teacher.__init__(self,name,pay)
Wack.__init__(self,hobby)
print("%s已经出现在视野里"%name)
def GetSetWackTeacher(self):#对怪老师的操作方法
for i in range(len(menu)):
print("%s.%s"%(i+1,menu[i]))
choice = input("请选择:")
if(choice == ""):
Teacher.GetPay(self)#查看怪老师的工资
self.GetSetWackTeacher()#重新调用怪老师的操作方法
elif(choice == ""):
Wack.LookHobby(self)#查看怪老师的怪癖
self.GetSetWackTeacher()
elif(choice == ""):#增加一个新的怪癖
while True:
choice = input("新的怪癖:")
if(type(choice)==str):
Wack.addHobby(self, choice)
self.GetSetWackTeacher()
else:
continue
#实例化怪老师类,Egon
Egon = WackTeacher("egon",2.5,["矮根儿","小林林","海峰","SomeBody"])
#Egon中的怪老师操作方法
Egon.GetSetWackTeacher()
Python练习-一个怪癖老师的不可描述的更多相关文章
- Pyscripter是python下一个非常流行的开源IDE
Pyscripter 不能正确调用另一文件中模块的问题的解析(Internal Engine 和 Remote Engine) 背景 Pyscripter是python下一个非常流行的开源IDE,笔者 ...
- python socket编程---从使用Python开发一个Socket示例说到开发者的思维和习惯问题
今天主要说的是一个开发者的思维和习惯问题. 思维包括编程的思维和解决一个具体问题的分析思维,分析思路,分析方法,甚至是分析工具. 无论是好习惯还是不好的习惯,都是在者一天一天的思维中形成的.那些不好的 ...
- 用python做一个搜索引擎(Pylucene)
什么是搜索引擎? 搜索引擎是“对网络信息资源进行搜集整理并提供信息查询服务的系统,包括信息搜集.信息整理和用户查询三部分”.如图1是搜索引擎的一般结构,信息搜集模块从网络采集信息到网络信息库之中(一般 ...
- 用Python写一个简单的Web框架
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
- python 获取一个列表有多少连续列表
python 获取一个列表有多少连续列表 例如 有列表 [1,2,3] 那么连续列表就是 [1,2],[2,3],[1,2,3] 程序实现如下: 运行结果:
- python是一个解释器
python是一个解释器 利用pip安装python插件的时候,观察到python的运作方式是逐步解释执行的 适合作为高级调度语言: 异常的处理以及效率应该是主要的问题
- 使用python检测一个设备是否ping的通
使用python检测一个设备是否ping的通 一,subprocess以及常用的封装函数 运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并 ...
- python 登陆一个网站
今天想用python写一个登陆的脚本,搜了一下,网上挺多的,看了一些后写了个登陆虎扑论坛的脚本. 原理: 只要在发送http请求时,带上含有正常登陆的cookie就可以了. 1.首先我们要先了解coo ...
- Python开发一个csv比较功能相关知识点汇总及demo
Python 2.7 csv.reader(csvfile, dialect='excel', **fmtparams)的一个坑:csvfile被csv.reader生成的iterator,在遍历每二 ...
随机推荐
- SourceTree轻松Git项目
这篇文档的目的是:让使用Git更轻松. 看完这篇文档你能做到的是: 1.简单的用Git管理项目. 2.怎样既要开发又要处理发布出去的版本bug情况. SourceTree是一个免费的Git图形化管理工 ...
- BZOJ5099 POI2018Pionek
假设确定了最终所得向量的方向,则应该选择所有在该方向上投影为正的向量.按极角序排序后这显然是一段连续区间.最终向量方向很难枚举,但对于某个向量,在其上投影为正的向量与其夹角范围是(-π/2,π/2), ...
- Vector源码解析
概要 学完ArrayList和LinkedList之后,我们接着学习Vector.学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它.第1部分 Vec ...
- Milk Patterns POJ - 3261(后缀数组+二分)
题意: 求可重叠的最长重复子串,但有一个限制条件..要至少重复k次 解析: 二分枚举k,对于连续的height 如果height[i] >= k 说明它们至少有k个元素是重复的,所以判断一下就好 ...
- C++ STL 常用拷贝和替换算法
C++ STL 常用拷贝和替换算法 copy() 复制 vector<int> vecIntA; vecIntA.push_back(1); vecIntA.push_back(3); v ...
- plsql 只有三个文本框,无法登陆
plsql版本与oracle版本不一致,如 你装的是oracle 64位,但是plsql装的是32位,就会出问题了,解决方案就是下载个64位plsql
- 【BZOJ3609】人人尽说江南好(博弈论)
[BZOJ3609]人人尽说江南好(博弈论) 题面 BZOJ 洛谷 题解 昨天考试的时候,毒瘤出题人出了一个\(noip\)博弈十合一然后他就被阿鲁巴了,因为画面残忍,就不再展开. 这题是他的十合一中 ...
- 【bzoj3930】 CQOI2015—选数
http://www.lydsy.com/JudgeOnline/problem.php?id=3930 (题目链接) 题意 求在${[L,R]}$中选出${n}$个数,可以相同,使得它们的${gcd ...
- FourAndSix: 2.01靶机入侵
0x01 前言 FourAndSix2是易受攻击的一个靶机,主要任务是通过入侵进入到目标靶机系统然后提权,并在root目录中并读取flag.tx信息 FourAndSix2.镜像下载地址: htt ...
- JMH 使用指南 - java 性能测试
JMH 篇 JMH,即Java Microbenchmark Harness 翻译:java 微基准测试 工具套件.## 1.添加依赖```<dependency> <groupId ...