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,在遍历每二 ...
随机推荐
- Apache+Nginx+php共存(一)
在实际开发中个人的电脑中经常需要安装 WNMRP.WAMRP.LNMRP.LAMRP等各种开发环境来应对不同的开发需求. 此篇主要是对WINDOWS系统下 Apache+Nginx + PHP +My ...
- Linux下CPU信息的查看
逻辑CPU个数: cat /proc/cpuinfo | grep "processor" | wc -l //32 物理CPU个数: cat /proc/cpuinfo ...
- Java 使用 Dbutils 工具类库 操作mysql
Dbutils 官网http://commons.apache.org/proper/commons-dbutils/ 结合我个人写的JDBCUtils 写的 Dbutils 的使用demo . JD ...
- .NET Socket 简单入门
说到Socket,想必大家都或多或少有所涉及,从最初的计算机网络课程,讲述了tcp协议,而Socket就是对协议的进一步封装,使我们开发人员能够更加容易轻松的进行软件之间的通信. 这个星期刚好接受一个 ...
- HDU4745——Two Rabbits——2013 ACM/ICPC Asia Regional Hangzhou Online
这个题目虽然在比赛的时候苦思无果,但是赛后再做就真的是个水题,赤果果的水题. 题目的意思是给n个数构成的环,两只兔子从任一点开始分别顺逆时针跳,每次可以调到任意一个数(最多不会跳过一圈). 求最多能跳 ...
- P4101 [HEOI2014]人人尽说江南好
题目描述 小 Z 是一个不折不扣的 ZRP(Zealot Round-game Player,回合制游戏狂热玩家),最近他 想起了小时候在江南玩过的一个游戏. 在过去,人们是要边玩游戏边填词的,比如这 ...
- BZOJ 2194 快速傅立叶变换之二 | FFT
BZOJ 2194 快速傅立叶变换之二 题意 给出两个长为\(n\)的数组\(a\)和\(b\),\(c_k = \sum_{i = k}^{n - 1} a[i] * b[i - k]\). 题解 ...
- wget递归下载整站
由于线上跑的系统还有CentOS5.4.6.4.6.5.6.5.6.6.6.8,而各镜像站维护的最早的版本已经是6.9,所以需要爬archive站点的rpm包来自建yum仓库. # wget -r - ...
- Google Gson用法
the latest version is 2.8.0. If you're using Gradle, add the following line: compile 'com.google.cod ...
- 解题:POI 2011 Strongbox
首先洛谷的题面十分的劝退(至少对我这个菜鸡来说是这样),我来解释一下(原来的英文题面): 有一个有若干个密码(每个密码都可以开箱子)的密码箱,密码是在$0$到$n-1$的数中的,且所有的密码都满足一个 ...