python 基础 lesson4 作业提交

1完成简单类的设计

创建一个名为 phone 的类

 1 )类实例成员变量有 screeen_size 、 price 、 brand

 2 )给成员变量创建 访问及设置 方法

 3 )定义 play 方法,功能为打印: play game

 4 )定义 sendMessage 方法,功能为打印: text message

 5 )定义 powerOff 方法,功能为打印: power off

 6 )创建 get_info 方法,打印对象的相关信息

 7 )实例化类 phone() ,对象名为 phone1, 屏幕尺寸为 5.5, 价格为 6288,

品牌为 apple

 8 )调用 3 , 4 , 5 , 6 方法,查看结果

 9 )实例化类 phone() ,对象名为 phone2, 屏幕尺寸为 5, 价格为 1999, 品

牌为 mi.

 10 )调用 3 , 4 , 5 , 6 方法,查看结果

class Phone():
    
    def __init__(self,screen_size,price,brand):
        self.screen_size = screen_size
        self.price = price
        self.brand = brand
    
    def play(self,):
        return "play game"
    def sendMessage(self,):
        return 'text message'
    def powerOff(self,):
        return 'powerOff'
    
    def get_info(self,):
        return 'screen_size is : ',self.screen_size ,'screen_price is : ',self.price ,'screen_brand is : ',self.brand       
phone1 = Phone('5.5',6288,'apple')
phone1.play()
phone1.sendMessage()
phone1.powerOff()
phone1.get_info()

phone2 = Phone('5',1999,'mi')
phone2.play()
phone2.sendMessage()
phone2.powerOff()
phone2.get_info()

2完成简单类的设计

设计以下公司类,并实例化不同对象进行检查

 类成员

 类下公司的总个数

 类方法

 返回公司类共有多少个公司实例

 实例变量

 公司名,简介,利润,销售额,总成本,雇员姓名,雇员人员。

 实例方法要求有:

 招聘人才(每招一个人会有成本产生,影响雇员列表,人数,总成本)

 解雇人员(每解雇一个人会有成本产生,影响雇员列表,人数 ,总成本)

 公司广告推广 ( 影响总成本 )

 交社保 ( 按公司雇员总人数计算,影响总成本 )

 交税 ( 按公司雇员总人数计算,影响总成本 )

 销售(按销售件数 * 价格计算销售额,利润按销售额 * 利润率进行计算利润。)

 获取公司雇员列表

 获取公司净利润

class Company():
    company_total = 0

    def __init__(self,name,intro,profit,salesmoney,totalcost,staffname,staffnum):
        self.name = name
        self.intro = intro
        self.profit = profit
        self.salesmoney = salesmoney
        self.totalcost = totalcost
        self.staffname = staffname
        self.staffnum = staffnum
        Company.company_total += 1
    
    def getstaff(self,staffname,singlecost):
        print(self.totalcost)
        self.staffname.append(staffname)
        self.totalcost += singlecost
        self.staffnum += 1
        print(self.totalcost)
        return self
    def stopstaff(self,staffname,singlecost):
        self.staffname.remove(staffname)
        self.totalcost += self.totalcost
        self.staffnum -= 1
        return self    
    def add(self,adcost):
        self.totalcost += adcost
        return self.totalcost
    def payinsurance(self,singlecost):
        self.totalcost += self.staffnum*singlecost
        return self.totalcost
    def paytax(self,singlecost):
        print(self.staffname)
        self.totalcost += self.staffnum*singlecost
        return self.totalcost
    def sales(self,salenum,singlemoney,rate):
        self.salesmoney += salenum*singlemoney
        self.profit += salenum*singlemoney*rate
        return 'self.salesmoney is ',self.salesmoney,'self.profit is ',self.profit
    @classmethod
    def get_instance_total(cls,):
        return Company.company_total
    
    @staticmethod
    def earn_money():
        return salesmoney-totalcost
    
company1 = Company('大海公司','服务周到',50000,150000,10000,['梨花','小红','损损'],3)
company1.getstaff('jack',2000).staffnum
company1.stopstaff('损损',3000).staffname
company1.add(30)
company1.payinsurance(1000)
company1.paytax(100)
company1.sales(32,100,0.1)

设计类及其继承类

设计一个叫cinema的电影院的类,包含

类方法:

初始化方法,并初始相应的类变量实例变量

getSales(获取全部电影院实际销售的方法)的电影院

实例方法:

saleTickets方法,要求更新实例的销售总额及类的销售总额

类变量:

类下所有实例电影院的数量,销售额总和

实例变量:

电影院名称,位置,销售额

    

创建一个miniCinema迷你电影院的类,继承自cinema类

重写卖票方法,大于100元的票价加入打9折扣的功能。

对miniCinema实例进行调用体现多态性

class Cinema():
    cinema_totalnum = 0
    cinema_totalsales = 0
    
    def __init__(self,name,location,sales):
        self.name = name
        self.location = location
        self.sales = sales
        Cinema.cinema_totalnum += 1
        Cinema.cinema_totalsales +=sales
    
    @classmethod
    def getSales(cls,):
        return Cinema.cinema_totalsales
    
    def saleTickets(self,ticketsnum,singleprice):
        self.sales += ticketsnum*singleprice
        Cinema.cinema_totalsales += self.sales
        return self.sales,'-------',Cinema.cinema_totalsales

cinema1 = Cinema('万达','北京',13900)

class miniCinema(Cinema):
    def saleTickets(self,ticketsnum,singleprice):
        if singleprice>100:
            singleprice = singleprice*0.9
        
        self.sales += ticketsnum*singleprice
        Cinema.cinema_totalsales += self.sales
        return self.sales,'-------',Cinema.cinema_totalsales
new = miniCinema('777','上海',1909201)
new.saleTickets(120,101)

导入包完成遍历目录

导入os包

创建递归循环完成一个目录的遍历

如果下还又一个目录,依次进行遍历

import os

def scanfiles(path):
    filelist = os.listdir(path)
    allfile = []
    for filename in filelist:
        filepath = os.path.join(path,filename)
        if os.path.isdir(filepath):
            scanfiles(filepath)
        print(filepath)  
scanfiles('C:/Users/Administrator/Desktop/july')

练习使用PIL包

导入PIL包

如果没有该包,请自行安装后导入

将一张图片进行尺寸缩放,颜色调整后保存。

(dir,help函数查看库)

from PIL import Image 

img = Image.open('C:Desktop/33.jpg')
w,h = img.size
img.thumbnail((w//2,h//2))

????????????????????????怎么换颜色??

img.save('C:Desktop/34.jpg')

        

新建类并修改其实例的切片访问

 Python中对序列的切片访问,是左闭右开。

 现请您

 创建一个可被迭代的类

 改变默认的切片访问方式为左闭右闭

 举例:c1=youclassname([0,1,2,3,4,5,6,7,8,9]

 c1[2:7] 返回2,3,4,5,6,7

class Cut():
    def __init__(self,value=None):
        if value is None:
            self.value = []
        else:
            self.value = value
    def __getitem__(self,key):
        if type(key)==slice:
            start = key.start
            stop = key.stop+1
            if key.start == None:
                start = 0
            if key.stop == None:
                stop = -1
            return self.value[start:stop]
        else:
            return str(self.value[key])
    def __iter__(self):
        return iter(self.value)
c1=Cut([1,2,3,4,5,6])
c1[1:3]
已邀请:

qq用户321660

赞同来自:


????????????????????????怎么换颜色??

dir大法~~~~~

要回复问题请先登录注册

返回顶部