首页 > 编程语言 >Python第七章实验报告

Python第七章实验报告

时间:2022-10-20 19:36:35浏览次数:59  
标签:__ Python self color init 第七章 print 实验报告 def

一、实验题目

Python第七章实例和实战作业

二、实验目的和要求

1.熟悉Pycharm的运行环境

2.学习并掌握Python的面向对象程序设计

三、主要仪器设备

联想小新air15

硬件:AMD R7 5700U

软件:Windows11操作系统

四、实验内容

完成第七章实例01-05,7.5实战

利用Pycharm完成Python实验报告

 

实例01:创建大雁类并定义飞行方法

代码如下:

 1 #----------实例01:创建大雁类并定义飞行方法----------#
 2 class Geese:            #创建大雁类
 3     "大雁类"
 4     def __init__(self,beak,wing,claw):                  #构造方法
 5         print("我是大雁类!我有以下特征:")
 6         print(beak)                                    #输出喙的特征
 7         print(wing)                                    #输出翅膀的特征
 8         print(claw)                                    #输出爪子的特征
 9     def fly(self,state):                               #定义飞行方法
10         print(state)
11 '''**********调用方法**********'''
12 beak_1 = "喙的基部较高,长度和头部的长度几乎相等"              #喙的特征
13 wing_1 = "翅膀长而尖"                                    #翅膀的特征
14 claw_1 = "爪子是蹼状的"                                   #爪子的特征
15 wildGoose = Geese(beak_1,wing_1,claw_1)                 #创建大雁类的实例
16 wildGoose.fly("我飞行的时候,一会儿排成个人字,一会排成个一字")  #调用实例方法

代码运行结果如下:

 

 

 

实例02:通过类属性统计类的实例个数
代码如下:
 1 #----------实例02:通过类属性统计类的实例个数----------#
 2 class Geese:
 3     '''雁类'''
 4     neck = "脖子较长"                   #类属性(脖子)
 5     wing = "振翅频率高"                 #类属性(翅膀)
 6     leg = "腿位于身体的中心支点,行走自如"  #类属性(腿)
 7     number = 0                        #编号
 8     def __init__(self):
 9         Geese.number += 1
10         print("\n我是第" + str(Geese.number) + "只大雁,我属于雁类!我有以下特征:")
11         print(Geese.neck)              #输出脖子的特征
12         print(Geese.wing)              #输出翅膀的特征
13         print(Geese.leg)               #输出腿的特征
14 #创建4个雁类的对象(相当于有4只大雁)
15 list1 = []
16 for i in range(4):
17     list1.append(Geese())
18 print("一共有" + str(Geese.number) + "只大雁")
代码运行结果如下:

 

 

实例03:在模拟电影点播功能时应用属性
代码如下:
 1 #----------实例03:在模拟电影点播功能时应用属性----------#
 2 class TVshow:                           #定义电视节目类
 3     list_film = ["战狼2","红海行动","西游记女儿国","熊出没·变形记"]
 4     def __init__(self,show):
 5         self.__show = show
 6     @property                           #将方法转换为属性
 7     def show(self):                     #定义show()方法
 8         return self.__show              #返回私有属性的值
 9     @show.setter                        #设置setter方法,让属性可修改
10     def show(self,value):
11         if value in TVshow.list_film:   #判断值是否在列表中
12             self.__show = "您选择了《" + value + "》,稍后将播放"   #返回修改的值
13         else:
14             self.__show = "您点播的电影不存在"
15 tvshow = TVshow("战狼2")                  #创建类的实例
16 print("正在播放:《",tvshow.show,"》")      #获取属性值
17 print("您可以从",tvshow.list_film,"中选择要点播放的电影")
18 tvshow.show = "红海行动"                   #修改属性的值
19 print(tvshow.show)                       #获取属性值
代码运行结果如下:


实例04:创建水果基类及其派生类
代码如下:
 1 #----------实例04:创建水果基类及其派生类----------#
 2 class Fruit:                                       #定义水果类(基类)
 3     color = "绿色"                                  #定义类属性
 4     def harvest(self,color):
 5         print("水果是:" + color + "的!")            #输出的是形式参数color
 6         print("水果已经收获……")
 7         print("水果原来是:" + Fruit.color + "的!")   #输出的是类属性color
 8 class Apple(Fruit):                                 #定义苹果类(派生类)
 9     color = "红色"
10     def __init__(self):
11         print("我是苹果")
12 class Orange(Fruit):
13     color = "橙色"
14     def __init__(self):
15         print("\n我是橘子")
16 apple = Apple()
17 apple.harvest(apple.color)
18 orange = Orange()
19 orange.harvest(orange.color)
代码运行结果如下:

 

实例05:在派生类中调用基类的__init__()方法定义类属性
代码如下:
 1 #----------实例05:在派生类中调用基类的__init__()方法定义类属性----------#
 2 class Fruit:                                        #定义水果类(基类)
 3     def __init__(self,color = "绿色"):
 4         Fruit.color = color                         #定义类属性
 5     def harvest(self,color):
 6         print("水果是:" + self.color + "的!")       #输出的是形式参数color
 7         print("水果已经收获……")
 8         print("水果原来是" + Fruit.color + "的!")     #输出的是类属性color
 9 class Apple(Fruit):                                 #定义苹果类(派生类)
10     color = "红色"
11     def __init__(self):
12         print("我是苹果")
13         super().__init__()                          #调用基类的__init__()方法
14 class Sapodilla(Fruit):                             #定义人参果类(派生类)
15     def __init__(self,color):
16         print("\n我是人参果")
17         super().__init__(color)                      #调用基类的__init__()方法
18     #重写harvest()方法的代码
19     def harvest(self,color):
20         print("人参果是:" + color + "的!")            #输出的是形式参数color
21         print("人参果已经收获……")
22         print("人参果原来是" + Fruit.color + "的!")    #输出的是类属性color
23 apple = Apple()                                      #创建类的实例(苹果)
24 apple.harvest(apple.color)                           #调用harvest()方法
25 sapodilla = Sapodilla("白色")                         #创建类的实例(苹果)
26 sapodilla.harvest("金黄色带紫色条纹")                   #调用harvest()方法
代码运行结果如下:

 

 实战一:修改手机默认语言

代码如下:

 1 #----------实战一:修改手机默认语言----------#
 2 class Phone:
 3     '''手机类'''
 4     def __init__(self,language = '英文'):
 5         if language == '英文':
 6             print("智能手机的默认语言为" + language)
 7         else:
 8             print("将智能手机的默认语言设置为" + language)
 9 phone_1 = Phone()
10 phone_2 = Phone('中文')

代码运行结果如下:

 

 

 

实战二:给信用卡设置密码
代码如下:
 1 #----------实战二:给信用卡设置密码----------#
 2 class IDcard:
 3     '''信用卡类'''
 4     def __init__(self,card_number,password = 123456):
 5         if password =='123456':
 6             print('信用卡' + str(card_number) + '的默认密码为:' + str(password))
 7         else:
 8             print('重置信用卡' + str(card_number) + '的密码为' + str(password))
 9 
10 idcard = IDcard('4013735633800642')
11 idcard = IDcard('4013735633800642','168779')
代码运行结果如下:

 

 

实战三:打印每月销售明细
代码如下:
 1 #----------实战三:打印每月销售明细----------#
 2 class Money_Sale:
 3     '''销售明细类'''
 4     def __init__(self):
 5         self.__sale_details = {'2':[('T0001','笔记本电脑'),('T0002','华为荣耀6X'),('T0003','iPad'),('T0004','华为荣耀V9'),('T0005','MacBook')]}
 6     def SaleList(self,value):
 7         if value in self.__sale_details:
 8             print('{}月份的商品销售明细如下:'.format(value))
 9             for item in self.__sale_details['2']:
10                 print("商品编号:%s 商品名称:%s" %item)
11         else:
12             print("该月没有销售数据或者输入的月份有误!")
13 print("------------销售明细------------")
14 sale = Money_Sale()
15 while True:
16     month = input("请输入要查询的月份(比如1、2、3等):")
17     if month =='0':
18         break
19     sale.SaleList(month)
代码运行结果如下:

 

实战四:模拟电影院的自动售票机选票页面
代码如下:
 1 #----------实战四:模拟电影院的自动售票机选票页面----------#
 2 class ticket_machine:
 3     def __init__(self):
 4         print("欢迎使用自动售票机~~")
 5     def film(self,film_1):
 6         ticket_machine.film = film_1
 7         print("已选电影:" + film_1)
 8     def time(self,time_1):
 9         ticket_machine.time = time_1
10         print("电影场次:" + time_1)
11     def seat(self,seat_1):
12         ticket_machine.seat = seat_1
13         print("选择座位:" + seat_1)
14     def draw(self):
15         print("\n电影:" + ticket_machine.film)
16         print("场次:" + ticket_machine.time)
17         print("座位:" + ticket_machine.seat)
18 select = ticket_machine()
19 print("\n请选择正在上映的电影:1、《环太平洋:雷霆再起》  2、《头号玩家》  3、《红海行动》")
20 select.film("《头号玩家》")
21 print("\n请选择场次:1、9:30  2、10:40  3、12:00")
22 select.time("10:40")
23 print("\n请选择座位:10-01   10-02   10-03   10-04")
24 select.seat("10-03")
25 print("\n正在出票。。。")
26 select.draw()
27 print("\n出票完成,请别忘记取票")
代码运行结果如下:

 

 



 

 

 
 

标签:__,Python,self,color,init,第七章,print,实验报告,def
From: https://www.cnblogs.com/Shing-gyl/p/16810984.html

相关文章

  • 【Python】第3章-15 统计一行文本的单词个数
    本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:......
  • 【Python】第3章-14 字符串字母大小写转换
    本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。输入格式:输入为一个以“#”结束的字符串(不......
  • python内置模块之os sys 与json
    os模块os模块主要与代码运行所在的操作系统打交道importos1,创建目录(文件夹)os.mkdir(r'd1')#相对路径在执行文件所在的路径下创建目录可以创建单级目录os.mk......
  • 【Python基础学习】第六节 time模块 & datetime模块详解
    Python基础学习之时间模块time模块datetime模块Python中,关于时间的模块,常用为:time&datetime两个模块;时间相关的模块虽然内容挺多,但是并不需要死记硬背,只要留个印象就......
  • 【Python】第3章-13 字符串替换
    本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母A ZB YC XD W… …X CY BZ A输入格式:输入在一行中给出一个不超过80个字符、......
  • Python7-eg
    实例01(创建大雁类并定义飞行方法)1classGeese:2'''大雁类'''3def__init__(self,beak,wing,claw):4print("我是大雁类!我有以下特征:")5......
  • 项目开发神器VsCode配置指南!(含C++、Python、Java环境配置)
    作者:吴忠强,东北大学,Datawhale成员本篇文章虽然是VsCode挂名,但其实介绍了两款神器:Vscode和Vim,这两个结合起来,开发效率蹭蹭蹭!!!之前接触过VsCode但很少用。总感觉写Python......
  • Python生成假数据
    1.安装依赖pipinstallFaker-ihttps://pypi.tuna.tsinghua.edu.cn/simple2.使用模块生成fromfakerimportFakerdefproduce_data():fake=Faker(locale=......
  • python第十九课--
    昨日内容回顾包的实际应用内部含有__init__.py文件的文件夹如果直接导入包名其实导入的是内部的__init__.py文件,所以包名点的方式其实是跟__init__.py文件要名字......
  • 每日python小技巧,从此搬砖没烦恼
    1. set()将列表转为元组会自动排序。2. 列表拷贝复制等价赋值   =浅拷贝(第一层深拷贝,嵌套的list等价赋值)   [:]    copy()    [ifor......