版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
【任務(wù)6-7】完整定義與使用1個父類Commodity和2個子類(Book、Handset)【任務(wù)描述】(1)在項目Unit06創(chuàng)建Python程序文件6-7.py。(2)在程序文件6-7.py中完整定義與使用1個父類Commodity和2個子類(Book、Handset)。(3)綜合應(yīng)用類的屬性與方法計算與輸出應(yīng)付金額、返現(xiàn)金額、優(yōu)惠金額、運費和實付金額?!救蝿?wù)實施】在PyCharm項目Unit06中創(chuàng)建Python程序文件6-7.py。在程序文件6-7.py中編寫程序代碼,實現(xiàn)所需功能。編寫定義父類Commodity及其多個屬性、方法的代碼?!救蝿?wù)實施】classCommodity:#定義父類的構(gòu)造方法
def__init__(self,code="",name="",price=0.0,quantity=0):modityCode=codemodityName=namemodityPrice=pricemodityQuantity=quantity【任務(wù)實施】
#定義父類的實例屬性
@propertydefcode(self):returnself._code@code.setterdefcode(self,value):self._code=value【任務(wù)實施】
@propertydefname(self):returnself._name@name.setterdefname(self,value):self._name=value【任務(wù)實施】
@propertydefprice(self):returnself._price@price.setterdefprice(self,value):self._price=value【任務(wù)實施】
@propertydefquantity(self):returnself._quantity@quantity.setterdefquantity(self,value):ifnotisinstance(value,int):raiseValueError('購買數(shù)量應(yīng)為正整數(shù)!')self._quantity=value【任務(wù)實施】
@propertydefcalculateAmount(self):amount=modityPrice*modityNumberreturnamount@propertydefamount(self):amount=self.price*self.numberreturnamount【任務(wù)實施】defprintInfo(self,strInfo):print("{:^50s}".format(strInfo))defprintField(self,endMark="\n"):print("{:^9s}".format("商品編號"),end="")print("{:^20s}".format("商品名稱"),end="")print("{:^12s}".format("價格"),end=endMark)【任務(wù)實施】defprintData(self,endMark="\n"):print("{:^10s}".format(self.code),end="")print("{:^21s}".format(),end="")print("{:^8.2f}".format(self.price),end=endMark)【任務(wù)實施】編寫定義子類Book及其多個屬性、方法的代碼。#定義第1個子類BookclassBook(Commodity):def__init__(self,code="",name="",price=0.0,publisher="",editionOrder=1):Commodity.__init__(self,code,name,price)self.bookPublisher=publisherself.bookEdition=editionOrder【任務(wù)實施】
#定義子類Book的屬性
@propertydefpublisher(self):returnself._publisher@publisher.setterdefpublisher(self,value):self._publisher=value【任務(wù)實施】
@propertydefedition(self):returnself._edition@edition.setterdefedition(self,value):self._edition=value【任務(wù)實施】defprintField(self):Commodity.printField(self,"")print("{:^7s}".format("出版社名稱"),end="")print("{:^16s}".format("版次"))defprintData(self):Commodity.printData(self,"")print("{:^10s}".format(self.publisher),end="")print("{:^6d}".format(self.edition))【任務(wù)實施】
@classmethoddefgetDiscountPrice(cls,rank,price):ifrank=="PLUS":discountPrice=price*0.88else:ifrank=="FAN":discountPrice=price*0.90else:discountPrice=price*0.92returndiscountPrice【任務(wù)實施】@classmethoddefgetDiscount(cls,number,price):originalTotal=number*pricediscount=0iforiginalTotal>=299:discount=15.00returndiscount【任務(wù)實施】@classmethoddefgetCashback(cls,number,price):originalTotal=number*pricereduction=int(originalTotal/100)ifreduction>0:cashback=reduction*50returncashback【任務(wù)實施】@classmethoddefgetCarriage(cls,payable):#訂單金額<49,收取基礎(chǔ)運費6元;訂單金額≥49,收取基礎(chǔ)運費0元
ifpayable<49:carriage=6.00else:carriage=0.00returncarriage【任務(wù)實施】
#輸出結(jié)算數(shù)據(jù)
@classmethoddefprintSettlementData(cls,*data):print("應(yīng)付金額:¥"+"{:.2f}".format(data[0]))print("運費:¥"+"{:.2f}".format(data[1]))print("返現(xiàn)金額:-¥"+"{:.2f}".format(data[2]))print("優(yōu)惠金額:-¥"+"{:.2f}".format(data[3]))print("實付金額:¥"+"{:.2f}".format(data[4]))【任務(wù)實施】編寫子類Handset及其多個屬性、方法的代碼。#定義第2個子類HandsetclassHandset(Commodity):def__init__(self,code="",name="",price=0.0,resolution="",screenSize=""):#在子類中使用supper()函數(shù)調(diào)用父類的__init__()方法super().__init__(self,code,name,price)self.handsetResolution=resolutionself.handsetScreenSize=screenSize【任務(wù)實施】
#定義子類Handset的屬性
@propertydefresolution(self):returnself._resolution@resolution.setterdefresolution(self,value):self._resolution=value【任務(wù)實施】
@propertydefscreenSize(self):returnself._screenSize@screenSize.setterdefscreenSize(self,value):self._screenSize=value【任務(wù)實施】
defprintField(self):Commodity.printField(self,"")print("{:^6s}".format("屏幕尺寸"),end="")print("{:^16s}".format("物理分辨率"))【任務(wù)實施】defprintData(self):Commodity.printData(self,"")print("{:^20s}".format(self.screenSize),end="")print("{:^12s}".format(self.resolution))【任務(wù)實施】針對創(chuàng)建的類Commodity和兩個子類Book、Handset實施以下各項操作。1.創(chuàng)建子類Book的實例對象book代碼如下:book=Book()【任務(wù)實施】2.通過類的實例對象book給類的屬性賦值代碼如下:book.code="12563157"="給Python點顏色青少年學編程"book.price=59.80book.quantity=1book.publisher="人民郵電出版社"book.edition=1【任務(wù)實施】3.通過類的實例對象book以模擬表格方式輸出圖書數(shù)據(jù)代碼如下:book.printField()book.printData()運行結(jié)果為:商品編號商品名稱價格出版社名稱版次12563157給Python點顏色青少年學編程59.80人民郵電出版社1【任務(wù)實施】4.通過類的實例對象book分別設(shè)置父類實例屬性的值和用戶等級代碼如下:book.quantity=5rank="Ordinaryusers"【任務(wù)實施】5.調(diào)用類的多個方法分別計算應(yīng)付金額、返現(xiàn)金額、優(yōu)惠金額、運費和實付金額代碼如下:discountPrice=book.getDiscountPrice(rank,book.price)discountAmount=book.quantity*discountPricediscount=book.getDiscount(book.quantity,book.price)cashback=book.getCashback(book.quantity,book.price)discountTotal=discount+cashbackpayable=discountAmount-discountTotalcarriage=book.getCarriage(payable)payable+=carriage【任務(wù)實施】6.調(diào)用子類book的方法printSettl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版化工危險品倉庫租賃及消防設(shè)施配備協(xié)議3篇
- 2024校車司機服務(wù)滿意度調(diào)查聘用合同3篇
- 專業(yè)墻面刷涂料分包合作合同一
- 二零二五年度不銹鋼欄桿設(shè)計與安裝服務(wù)協(xié)議3篇
- 二零二五年特色街區(qū)攤位租賃經(jīng)營協(xié)議2篇
- 2025賓館客房租賃及酒店旅游咨詢服務(wù)合同范本3篇
- 二零二五年度智能機器人OEM研發(fā)與生產(chǎn)合作協(xié)議
- 二零二五版影視作品眾籌投資與分成合同3篇
- 2024版工程設(shè)計協(xié)議終止協(xié)議范本版B版
- 忻州職業(yè)技術(shù)學院《生物藥物臨床前評價》2023-2024學年第一學期期末試卷
- 健康中國產(chǎn)業(yè)園規(guī)劃方案
- (2024年)二年級上冊音樂
- 2024屆高考英語一輪復(fù)習讀后續(xù)寫脫險類續(xù)寫講義
- ISO13485內(nèi)部審核檢查表+內(nèi)審記錄
- 2024年《藥物臨床試驗質(zhì)量管理規(guī)范》(GCP)網(wǎng)絡(luò)培訓(xùn)題庫
- 新華健康體檢報告查詢
- 2024版智慧電力解決方案(智能電網(wǎng)解決方案)
- 公司SWOT分析表模板
- 小學預(yù)防流行性感冒應(yīng)急預(yù)案
- 生物醫(yī)藥大數(shù)據(jù)分析平臺建設(shè)-第1篇
- 美術(shù)家協(xié)會會員申請表
評論
0/150
提交評論