‘’’
冰淇淋小店:冰其淋小店是一种特殊的餐馆。
编写一个名为IceCreamStand的类,
让它继承你为完成练习1或练习4而编写的Restaurant类。
这两个版本Restaurant类都可以,挑选你更喜欢的那个即可。
添加一个名为flavors的属性,用于存储一个由各种口味的冰淇淋组成的列表。
编写一个显示这些冰淇淋的方法。创建一IceCreamStand实例,并调用这个方法。
‘’’
from Restaurant import Restaurant
class IceCreamStand(Restaurant):
def init(self,restaurant_name,cuisine_type,flavors,number_served = 0):
super(IceCreamStand, self).init(restaurant_name,cuisine_type,number_served = 0)
self.flavor=flavors
def getInfo(self):
print(‘这家参观的名字是%s,特色菜是%s,冰欺凌的主要口味有%s’%(self.restaurant_name,self.cuisine_type,self.flavor))
IceCreamStand1=IceCreamStand(‘海底捞’,‘火锅’,[‘火山岩’,‘草莓味’,‘奶油味’])
IceCreamStand1.getInfo()

‘’’
管理员是一种特殊的用户。
编写一个名为Admin的类,让它继承你为完成练习3或练习5而编写的User类。
添加一个名为privileges的属性,
用于存储一个由字符串(如“can add post”、“can delete post”、“can ban user”等)组成的列表。
编写一个名为show_privileges()的方法,它显示管理员的权限,创建一个Admin实例,并调用这个方法。
‘’’
from user import user
class Admin(user):
privileges=[‘can add post’,‘can delete post’,‘can ban user’]
def int(self,first_name,last_name,age,sex,phone,login_attempts=0):
super(Admin, self).int(first_name,last_name,age,sex,phone,login_attempts=0)
def show_privileges(self):
print(‘管理员:%s%s有以下权限:’%(self.first_name,self.last_name))
for i in Admin.privileges:
print(i)
admin1=Admin(‘su’,‘san’,18,‘女’,‘19999999999’,‘上海’)
admin1.show_privileges()

‘’’
练习:亡者农药小游戏
1、创建三个游戏人物,分别是:
属性:
名字:name,定位:category,血量:Output技能:Skill
英雄:
铠,战士,血量:1000 技能:极刃风暴
王昭君,法师 ,血量:1000 技能:凛冬将至
阿轲,刺客,血量:1000 技能:瞬华
2、游戏场景,分别:
偷红buff,释放技能偷到红buff消耗血量300
solo战斗,一血,消耗血量500
补血,加血200
‘’’
class hero():
def init(self,name,category,skill,output=1000,score=0):
self.name=name
self.category=category
self.skill=skill
self.output=output
self.score=score
#战斗场景一 :偷红BUFF
def red_buff(self):
self.output-=300
print(’%s%s释放技能偷的红BUFF,消耗血量%d’%(self.category,self.name,self.output))
# 战斗场景二 :solo
def solo(self,n=1):
self.output -= 500
if self.output<0:
print(’%s%s送出了一血’%(self.category,self.name))
else:
if self.score==0:
self.score+=n
print(’%s%s释放技取得一血,消耗血量500,拿到%d人头’%(self.category, self.name,self.score))
else:
self.score += n
print(’%s%s释放技,消耗血量500,拿到%d人头’ % (self.category, self.name,n))

# 战斗场景三 :补血
def add_blood(self):self.output+=200print('%s%s被辅助加血200,现在的血量为%d'%(self.category, self.name,self.output))
#查看英雄属性
def getInfo(self):if self.output<=0:print('%s%s已死亡等待复活,已取得人头%d'%(self.category, self.name,self.score))else:print('%s%s已超神,血量还有%d'%(self.category, self.name,self.output))
#实例化对象

kai=hero(‘凯’,‘战士’,‘极寒风暴’)
kai.red_buff()
kai.getInfo()
kai.solo()
kai.getInfo()
kai.add_blood()

#-- conding:utf-8 --
‘’’’’’
‘’’
模拟一个简单的银行进行业务办理的类

类:
创建一个银行类
属性:
一个属于银行的类属性
用来存储所用银行的开户信息,包含卡号、密码、用户名、余额
(外界不能随意访问和修改。开户时要进行卡号验证,查看卡号是否已经存在)

每个对象拥有卡号、密码、用户名、余额(外界不能随意访问和更改)

方法:
银行类拥有
查看本银行的开户总数
查看所有用户的个人信息(包含卡号、密码、用户名、余额)
每个对象拥有
实例化对象的时候传入相关参数
初始化对象及类属性
取钱(需要卡号和密码验证)
通过验证卡号和密码对个人的余额进行操作,如果取钱大于余额,返回余额不足
存钱(需要卡号和密码验证)
通过验证卡号和密码对个人的余额进行操作,返回操作成功
查看个人详细信息(需要卡号密码验证)
返回个人的卡号,用户名,余额信息
‘’’

class Bank():
#一个属于银行的类属性
__Users = {}

#每个对象拥有 卡号、密码、用户名、余额
def __init__(self,CradId,pwd,name,balance):if CradId not in Bank.__Users:Bank.__Users[CradId] = {'pwd':pwd,'Username':name,'Balance':balance}self.__CradId = CradIdself.__pwd = pwdself.__name = nameself.__balance = balance#查看本银行的开户总数
@classmethod
def nums(cls):print('当前用户数:%d'%(len(cls.__Users)))#查看所有用户的个人信息(包含卡号、密码、用户名、余额)
@classmethod
def get_Users(cls):for key,val in cls.__Users.items():print('卡号:%s \n 用户名:%s \n密码:%d \n 余额:%d'%(key,val['Username'],val['pwd'],val['Balance']))print()#验证方法
@staticmethod
def check_User(CradId,pwd):if (CradId in Bank.__Users) and (pwd == Bank.__Users[CradId]['pwd'] ):return Trueelse:return False
#验证金额
@staticmethod
def check_money(money):if isinstance(money,int):return Trueelse:return False# 取钱(需要卡号和密码验证)
def q_money(self,CradId,pwd,money):if Bank.check_User(CradId,pwd):#开始取钱if Bank.check_money(money):if Bank.__Users[CradId]['Balance'] >= money:Bank.__Users[CradId]['Balance'] -= moneyprint('当前卡号%s,当前取款金额%d,当前余额%d'%(CradId,money,Bank.__Users[CradId]['Balance']))else:print('余额不足')else:print('您输入的金额有误')else:print('卡号或者密码有误')def c_money(self,CradId,pwd,money):if Bank.check_User(CradId,pwd):#开始取钱if Bank.check_money(money):Bank.__Users[CradId]['Balance'] += moneyprint('当前卡号%s,当前存款金额%d,当前余额%d'%(CradId,money,Bank.__Users[CradId]['Balance']))else:print('您输入的金额有误')else:print('卡号或者密码有误')#查看个人详细信息(需要卡号密码验证)
def getInfo(self,CradId,pwd):if Bank.check_User(CradId, pwd):print('当前卡号%s,当前用户名%s,当前余额%d' % (CradId, Bank.__Users[CradId]['Username'], Bank.__Users[CradId]['Balance']))else:print('卡号或者密码有误')

joe = Bank(‘1001’,111111,‘joe’,100)
joe2 = Bank(‘1001’,111111,‘joe’,100)
Bank.nums()
print(’’*50)
Bank.get_Users()
print(’
’*50)
joe.c_money(‘1001’,111111,500)
print(’’*50)
joe.q_money(‘1001’,111111,300)
print(’
’*50)
joe.getInfo(‘1001’,111111)

Python 继承/基础综合练习题相关推荐

  1. python继承基础类型(如int)的方法

    写一些关于基础类型增强的类时,又想使用这个类的方法,我们会这样写: class Test(int):pass 但是,当写具体的方法时,我们的继承要不同于其他: class Test(int):def ...

  2. python入门基础——综合实践(学生信息管理系统的构建)

    ​ 学习语言与实践是紧密相连的,本人在学习一段时间的python语言后,运用初步学习的知识,实现了学生信息管理系统1.0,并且在学习更多知识后,会逐步完善该系统 首先要明确该系统能实现的功能: 其次, ...

  3. 基础综合练习题 (Java)

    单元一公式计算 课题一 三角形面积 按公式s=1/2ah求三角形面积. /* 三角形面积 */public static void Text1() {// 需求:按公式 s=1/2ah 求三角形面积/ ...

  4. python入门编程题库-Python经典基础编程练习题(六)——每日10题

    1.统计 1 到 100 之和 sum=0 for i in range(1,101): sum+=i print(sum) 2.求输入数字的平方,如果平方运算后小于 50 则退出 n= int(in ...

  5. 【学习笔记】30、Python基础综合练习

    Python基础综合练习 [综合习题] 设计一个MySQL数据库操作的类,可以实现数据库的各种操作(增删改查). 创建类源代码: # 创建MySQL数据库操作的类 class Mysql_opeati ...

  6. Python多继承基础

    Python多继承基础 python是面向对象的语言,它支持多继承,即一个类可以继承多个父类的属性和方法.本书通过对代码的方式解读来解释多继承的概念,详见代码处注释部分. # 3 显示调用父类的初始化 ...

  7. python基础编程练习题_Python随笔18:Python基础编程练习题1~2

    Python基础练习题1 求100之内自然数中最大的能被17整除的数. 解答:既然是求100以内的最大的数,可以使用range函数,且反向遍历.我们不必遍历完范围之内所有的数,因为第一个就是最大的,也 ...

  8. 2019电大计算机考试题及答案,2019年最新电大《计算机应用基础》期末考前复习综合练习题(A、B、C)及参考答案资料小抄...

    电大<计算机应用基础>期末复习综合练习题(A) 一.单选题(每题2分,共40分) 1 显示器是一种(B). A 输入设备 B 输出设备 C 存储器 D 运算器 2 在计算机中表示存储器容量 ...

  9. Python零基础速成班-第9讲-Python面向对象编程(上),对象和类、初始化、继承、重写、多态、类方法、组合

    Python零基础速成班-第9讲-Python面向对象编程(上),对象和类.初始化.继承.重写.多态.类方法.组合 学习目标 修饰器 面向对象编程:对象和类.初始化.继承.重写.多态.类方法.组合 课 ...

最新文章

  1. cc.tween 的call()不执行
  2. arcpy 批量投影_使用ArcPy对栅格数据进行批量投影坐标转换
  3. hibernate延迟加载(get和load的区别)
  4. Vuejs发送Ajax请求
  5. Centos7装NVIDIA显卡驱动(GPU)
  6. Haproxy安装及配置(转)
  7. nginx如何配置多站点
  8. Confluence 6 为一个空间应用一个主题
  9. deb,命令行安装与软件中心安装有差异
  10. 在IFC标准模型如何实现室内灯光管控?
  11. Auto.js抓取移动端数据实战
  12. CCF推荐的A类、B类、C类中文科技期刊
  13. 人教版四年级上次计算机教案,人教版四年级上册数学教案
  14. Python代码规范之---代码不规范,亲人两行泪
  15. 网络对时设备(NTP校时)如何守护安全日志
  16. FDI-01-基于PCA的TEP故障检测
  17. python爬斗鱼直播_从零开始写Python爬虫 --- 爬虫应用: 利用斗鱼Api抓取弹幕
  18. 线性回归的五个基本假设
  19. WebService CXF --- 传输文件MTOM
  20. 趣拿洞察:盒马上海实现盈利背后的“玄机”

热门文章

  1. C语言用状态机来实现简单的密码开锁
  2. 大数据SQL优化之数据倾斜解决案例全集
  3. PMBOK与CMMI,IPD,Scrum
  4. ArchSummit深圳2015大会幻灯片开放下载,明星讲师新鲜出炉
  5. 手机相机图像对比工具开发
  6. android 手写签字
  7. Office 2003 打开太慢的9种解决方法
  8. VUE3实战二之Vant UI库使用
  9. 【机器学习】关联分析算法-DHP Algorithm
  10. 【经验】记录在家学习遇到的困难,以及可行的解决方案