34 周逸(第七单元)

实例01

class Geese: # 创建大雁类
'''大雁类'''
def __init__(self,beak,wing,claw): # 构造方法
print("我是大雁类!我有一下特征:")
print(beak) # 输出喙的特征
print(wing) # 输出翅膀的特征
print(claw) # 输出爪子的特征
def fly(self,state): # 定义飞行方法
print(state)
'''************调用方法********************'''
beak_1 = "喙的基部比较高,长度和头部几乎相等" # 喙的特征
wing_1 = "翅膀长而尖" # 翅膀的特征
claw_1 ="爪子是蹼状的" # 爪子的特征
wildGoose = Geese(beak_1,wing_1,claw_1) # 创建大雁类的实例
wildGoose.fly("我飞行的时候,一会儿排成个人字,一会排成个一字") #调用实例方法

结果

我是大雁类!我有一下特征:
喙的基部比较高,长度和头部几乎相等
翅膀长而尖
爪子是蹼状的
我飞行的时候,一会儿排成个人字,一会排成个一字

实例02

class Geese:
'''雁类'''
neck = "脖子较长" # 类属性(脖子)
wing = "振翅频率高" # 类属性(翅膀)
leg = "腿位于身体的中心支点,行走自如" # 类属性(腿)
number = 0 # 编号
def __init__(self): # 构造方法
Geese.number += 1 # 将编号加1
print("\n我是第"+str(Geese.number)+"只大雁,我属于雁类!我有以下特征:")
print(Geese.neck) # 输出脖子的特征
print(Geese.wing) # 输出翅膀的特征
print(Geese.leg) # 输出腿的特征
# 创建4个雁类的对象(相当于有4只大雁)
list1 =[]
for i in range(4): # 循环4次
list1.append(Geese()) # 创建一个雁类的实例
print("一共有"+str(Geese.number)+"只大雁")

结果

我是第1只大雁,我属于雁类!我有以下特征:
脖子较长
振翅频率高
腿位于身体的中心支点,行走自如

我是第2只大雁,我属于雁类!我有以下特征:
脖子较长
振翅频率高
腿位于身体的中心支点,行走自如

我是第3只大雁,我属于雁类!我有以下特征:
脖子较长
振翅频率高
腿位于身体的中心支点,行走自如

我是第4只大雁,我属于雁类!我有以下特征:
脖子较长
振翅频率高
腿位于身体的中心支点,行走自如
一共有4只大雁

实例03

class TVshow: # 定义电视节目类
list_film = ["战狼2","红海行动","西游记女儿国","熊出没 变形记"]
def __init__(self,show):
self.__show = show
@property # 将方法转换为属性
def show(self): # 定义show()方法
return self.__show # 返回私有属性的值
@show.setter # 设置setter方法,让属性可修改
def show(self,value):
if value in TVshow.list_film: # 判断是否在列表中
self.__show = "您选择了《" + value + "》,稍后将播放" # 返回修改的值
else:
self.__show = "您点播的电影不存在"
tvshow = TVshow("战狼2") # 创建类的实例
print("正在播放:《",tvshow.show,"》") # 获取属性值
print("您可以从",tvshow.list_film,"中选择要点播的电影")
tvshow.show = "红海行动" # 修改属性值
print(tvshow.show) # 获取属性值

 结果

正在播放:《 战狼2 》
您可以从 ['战狼2', '红海行动', '西游记女儿国', '熊出没 变形记'] 中选择要点播的电影
您选择了《红海行动》,稍后将播放

实例04

class Fruit: # 定义水果类(基类)
color ="绿色" # 定义类属性
def harvest ( self,color ):
print ("水果是:"+ color +"的!") # 输出的是形式参数 color
print ("水果已经收获.....")
print ("水果原来是:"+ Fruit . color +"的!") # 输出的是类属性 color
class Apple ( Fruit ): # 定义苹果类(派生类)
color ="红色"
def __init__( self ):
print ("我是苹果")
class Orange(Fruit): # 定义橘子类(派生类)
color ="橙色"
def __init__( self ):
print ("\n我是橘子")
apple = Apple()
apple . harvest ( apple . color )
orange = Orange ()
orange . harvest ( orange . color )

结果

我是苹果
水果是:红色的!
水果已经收获.....
水果原来是:绿色的!

我是橘子
水果是:橙色的!
水果已经收获.....
水果原来是:绿色的!

实例05

class Fruit: # 定义水果类(基类)
def __init__(self,color="绿色"):
Fruit.color = color # 定义类属性
def harvest (self,color):
print ("水果是:"+ color +"的!") # 输出的是形式参数 color
print ("水果已经收获......")
print ("水果原来是:"+ Fruit . color +"的!"); # 输出的是类属性 color
class Apple ( Fruit ): # 定义苹果类(派生类)
color ="红色"
def __init__(self):
print ("我是苹果")
super().__init__() # 调用基类的__init__()方法
class Sapodilla(Fruit):
def __init__(self,color):
print("\n我是人参果")
super().__init__(color) # 调用基类的__init__()方法
# 重写harvest()方法的代码
def harvest(self,color):
print("人参果是:" + "的!") # 输出的是形式参数color
print("人参果已经收获......")
print("人参果原来是:" + Fruit.color + "的!"); # 输出的是类属性color
apple = Apple() # 创建类的实例(苹果)
apple.harvest(apple.color) # 调用harvest()方法
sapodilla = Sapodilla("白色") # 创建类的实例(人参果)
sapodilla.harvest("金黄色带紫色条纹") # 调用harvest()方法

结果

我是苹果
水果是:红色的!
水果已经收获......
水果原来是:绿色的!

我是人参果
人参果是:的!
人参果已经收获......
人参果原来是:白色的!

实战01

class Phone: #定义手机类
'''手机类'''
def __init__(self,language = '英文'): #构造方法
if language == '英文':
print("智能手机的默认语言为" + language)
else:
print("将智能手机的默认语言设置为" + language)
Phone() #无参数
Phone('中文') #有参数

结果

智能手机的默认语言为英文
将智能手机的默认语言设置为中文

实战02

class Card:
'''信用卡类'''
def __init__(self,number,code = "123456"):
if code == "123456":
print("信用卡" + str(number) + "的默认密码为"+ str(code))
else:
print("重置信用卡" + str(number) + "的密码为" + str(code))
Card("4013735633800642")
Card("4013735633800642","168779")

结果

信用卡4013735633800642的默认密码为123456
重置信用卡4013735633800642的密码为168779

实战03

class SaleHandler:
'''销售管理类'''
def __init__(self):
self.__sale_data = {
"2":[('T0001','笔记本电脑'),
('T0002','荣耀6X'),
('T0003','iPad'),
('T0004','荣耀V9'),
('T0005','MACBook')]} #{key:value}
def querySaleList(self,query_month):
'''根据输入月份,查询商品明细'''
if query_month in self.__sale_data:
print("%s月份商品销售明细如下:" % query_month)
for item in self.__sale_data[query_month]:
print("商品编号:%s 商品名称:%s" % item)
else:
print("该月份没有销售数据或输入月份有误!")
print("------销售明细-----")
sh = SaleHandler()
while True:
month = input("请输入要查询的月份(例如1、2、3等):")
if month == 'quit':
break

sh.querySaleList(month)

结果

===========================
------销售明细-----
请输入要查询的月份(例如1、2、3等):2
2月份商品销售明细如下:
商品编号:T0001 商品名称:笔记本电脑
商品编号:T0002 商品名称:荣耀6X
商品编号:T0003 商品名称:iPad
商品编号:T0004 商品名称:荣耀V9
商品编号:T0005 商品名称:MACBook
请输入要查询的月份(例如1、2、3等):4
该月份没有销售数据或输入月份有误!
请输入要查询的月份(例如1、2、3等):

实战04

class Selecet:
def __init__(self):
self.moviesinfo = {'《白蛇:缘起》':{'time':['9:30','10:40','12:00','14:00','16:30'],'seat':['10-01','10-02','10-03','10-04']},'《流浪地球》':{'time':['8:30','9:40','12:50','15:00','18:50'],'seat':['09-01','09-02','08-03','06-04']},'《战狼2》':{'time':['8:30','9:40','12:50','15:00','18:50'],'seat':['09-01','09-02','08-03','06-04']}}
self.selemovie = ''
self.times = ''
self.zuowei1 = ''
self.SSS = 0
self.XXX = 0
def selecet_movie(self):
listmovie=[]
print('请选择正在上映的电影:',end='')
for i in self.moviesinfo:
listmovie.append(i)
for j in range(len(self.moviesinfo)):
print(' '+str(j+1)+'、'+listmovie[j],end='')
userselect = int(input(' '))
self.selemovie = listmovie[userselect-1]
print('已选择电影'+self.selemovie)
return self.selemovie
def changci(self):
print('请选择播放场次:(按场次对应数字输入)',end='')
self.times = self.moviesinfo[self.selemovie]['time']
for i in range(len(self.times)):
print(' '+str(i+1)+'、'+self.times[i],end='')
self.SSS = int(input(' '))
print('选择场次是:'+self.times[self.SSS-1])
def zuowei(self):
print('请选择座位:(按场次对应数字输入)',end='')
self.zuowei1 = self.moviesinfo[self.selemovie]['seat']
for i in range(len(self.zuowei1)):
print(' '+str(i+1)+'、'+self.zuowei1[i],end='')
self.XXX = int(input(' '))
print('选择座位是:'+self.zuowei1[self.XXX-1])
def allinfo(self):
print('正在出票...\n')
print('电影:'+self.selemovie)
print('播出时间:'+self.times[self.SSS-1])
print('选择座位是:'+self.zuowei1[self.XXX-1])
print('\n出票完成,请别忘记取票!')
def main(self):
self.selecet_movie()
self.changci()
self.zuowei()
self.allinfo()
seleceted = Selecet()
seleceted.main

 

posted @ 2022-10-21 16:05  wzsyx  阅读(39)  评论(0)    收藏  举报