Python程序設(shè)計任務(wù)驅(qū)動式教程(微課版)課件 模塊5 函數(shù)應(yīng)用與模塊化程序設(shè)計_第1頁
Python程序設(shè)計任務(wù)驅(qū)動式教程(微課版)課件 模塊5 函數(shù)應(yīng)用與模塊化程序設(shè)計_第2頁
Python程序設(shè)計任務(wù)驅(qū)動式教程(微課版)課件 模塊5 函數(shù)應(yīng)用與模塊化程序設(shè)計_第3頁
Python程序設(shè)計任務(wù)驅(qū)動式教程(微課版)課件 模塊5 函數(shù)應(yīng)用與模塊化程序設(shè)計_第4頁
Python程序設(shè)計任務(wù)驅(qū)動式教程(微課版)課件 模塊5 函數(shù)應(yīng)用與模塊化程序設(shè)計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

【任務(wù)5-3】定義函數(shù)計算總金額、優(yōu)惠金額和實付金額【任務(wù)描述】(1)在項目Unit05中創(chuàng)建Python程序文件5-3.py。(2)定義函數(shù)計算總金額、優(yōu)惠金額和實付金額?!救蝿?wù)實施】在PyCharm項目Unit05中中創(chuàng)建Python程序文件5-3.py。在程序文件5-3.py中編寫程序代碼,實現(xiàn)所需功能?!救蝿?wù)實施】1.定義getDiscountPrice()函數(shù),用于計算優(yōu)惠價格函數(shù)定義代碼如下:defgetDiscountPrice(rank,price):ifrank=="PLUS":discountPrice=price*0.88else:ifrank=="FAN":discountPrice=price*0.90else:discountPrice=price*0.92returndiscountPrice【任務(wù)實施】2.定義getDiscount()函數(shù),用于計算返現(xiàn)金額函數(shù)定義代碼如下:defgetDiscount(number,price):originalTotal=number*priceiforiginalTotal>=299:discount=15.00returndiscount【任務(wù)實施】3.定義getCashback()函數(shù),用于計算直減金額函數(shù)定義代碼如下:defgetCashback(number,price):originalTotal=number*pricereduction=int(originalTotal/100)ifreduction>0:cashback=reduction*50returncashback【任務(wù)實施】4.定義getCarriage()函數(shù),用于計算運(yùn)費(fèi)函數(shù)定義代碼如下:defgetCarriage(payable):ifpayable<49:carriage=6.00else:carriage=0.00returncarriage【任務(wù)實施】5.定義printData()函數(shù),用于指定格式輸出數(shù)據(jù)函數(shù)定義代碼如下:defprintData(*data):print("總金額:¥"+"{:.2f}".format(data[0]))print("運(yùn)費(fèi):¥"+"{:.2f}".format(data[1]))print("返現(xiàn)金額:-¥"+"{:.2f}".format(data[2]))print("優(yōu)惠金額:-¥"+"{:.2f}".format(data[3]))print("實付總額:¥"+"{:.2f}".format(data[4]))【任務(wù)實施】6.變量originalPrice和number賦初值originalPrice=99.80number=47.計算應(yīng)付金額,并將計算結(jié)果存儲在變量originalTotal中originalTotal=number*originalPrice8.變量rank賦初值rank="Ordinaryusers"【任務(wù)實施】9.調(diào)用discountPrice()函數(shù),計算優(yōu)惠價格discountPrice=getDiscountPrice(rank,originalPrice)10.計算優(yōu)惠金額,并將計算結(jié)果存儲在變量discountAmount中discountAmount=number*discountPrice11.調(diào)用getDiscount()函數(shù),計算返現(xiàn)金額discount=getDiscount(number,originalPrice)12.調(diào)用getCashback()函數(shù),計算直減金額cashback=getCashback(number,originalPrice)【任務(wù)實施】13.計算返現(xiàn)金額與直減金額的和,并將計算結(jié)果優(yōu)惠金額賦給變量discountTotaldiscountTotal=discount+cashback14.計算應(yīng)付金額,并將計算結(jié)果賦給變量payablepayable=discountAmount-discountTotal15.調(diào)用getCarriage()函數(shù),計算運(yùn)費(fèi)carriage=getCarriage(payable)【任務(wù)實施】16.計算包含運(yùn)費(fèi)的實付金額payable+=carriage17.調(diào)用printData()函數(shù),以預(yù)設(shè)的格式輸出數(shù)據(jù)printData(discountAmount,carriage,cashback,discount,payable)18.調(diào)用print()函數(shù),輸出空格,實現(xiàn)換行print("")【任務(wù)實施】19.運(yùn)行程序,輸出結(jié)果程序5-7.py的運(yùn)行結(jié)果如下:總金額:¥367.26

運(yùn)費(fèi):¥0.00

返現(xiàn)金額:-¥150.00

優(yōu)惠金額:-¥15.00

實付總額:¥202.26快樂學(xué)習(xí)!高效學(xué)習(xí)!祝學(xué)習(xí)進(jìn)步!【任務(wù)5-5】編寫程序自定義模塊與函數(shù)格式輸出商品信息【任務(wù)描述】(1)在項目Unit05中創(chuàng)建Python程序文件5-5.py。(2)自定義模塊commonModult.py,在該模塊中自定義函數(shù)printField()、printFormatData()、printBlankFill(),分別用于輸出表格標(biāo)題行、格式化輸出商品信息,輸出填充空格。(3)編寫程序自定義模塊與函數(shù)格式輸出商品信息?!救蝿?wù)實施】1.創(chuàng)建模塊文件commonModult.py在項目文件夾Unit05中創(chuàng)建模塊文件commonModult.py,在該模塊中分別定義4個函數(shù),名稱分別為:getSize、printField、printFormatData、printBlankFill?!救蝿?wù)實施】編寫模塊commonModult的程序代碼。(1)導(dǎo)入模塊importdatetime【任務(wù)實施】(2)定義getSize函數(shù),用于計算字符串長度defgetSize(text):iftype(text)!=str:text=str(text)lenText=len(text)#調(diào)用len函數(shù)計算字符串的字符數(shù)量

lenTextUtf8=len(text.encode('UTF-8'))#計算字符串UTF-8編碼的長度

iflenText!=lenTextUtf8:size=int(lenText-(lenTextUtf8-lenText)/2)#計算字符中半角字符的數(shù)量

returnsizeelse:return0【任務(wù)實施】(3)定義printField函數(shù),用于以指定格式輸出字段名defprintField(fieldName):print("{0:{1}^6s}".format(fieldName[0],chr(12288)),end="")#商品IDprint("{0:{1}^20s}".format(fieldName[1],chr(12288)),end="")#圖書名稱

print("{0:{1}^14s}".format(fieldName[2],chr(12288)),end="")#價格

print("{0:{1}^6s}".format(fieldName[3],chr(12288)))#出版日期【任務(wù)實施】(4)定義printFormatData函數(shù),用于以指定格式輸出字段值defprintFormatData(text,align,len):iftype(text)==datetime.date:text=datetime.date.strftime(text,"%Y-%m-%d")#0對應(yīng)輸出的字符串,1對應(yīng)填充符,2對應(yīng)對齊方式,3對應(yīng)顯示長度

print("{0:{1}{2}{3}}".format(text,chr(12288),align,len),end="")【任務(wù)實施】(5)定義printBlankFill函數(shù),用于以指定格式輸出全角字符defprintBlankFill(text,endMark):print("{0:<{1}s}".format(chr(32),str(getSize(text))),end=endMark)#chr(32)返回半角空格【任務(wù)實施】2.創(chuàng)建Python程序文件5-5.py在PyCharm項目Unit05中創(chuàng)建Python程序文件5-5.py。在程序文件5-5.py中編寫程序代碼,實現(xiàn)所需功能?!救蝿?wù)實施】(1)從自定義模塊commonModult導(dǎo)入多個自定義函數(shù)fromcommonModultimportprintFormatData,printBlankFill,printField(2)定義printData函數(shù),以指定格式輸出圖書數(shù)據(jù)defprintData(bookData):forrowinbookData:printFormatData(row[0],"^","6d")printFormatData(row[1],"<","24s")printBlankFill(row[1],"")printFormatData(row[2],"^","8.2f")printFormatData(row[3],"^","12s")print("")【任務(wù)實施】(3)定義一個包含4個元素的元組,并賦值給變量fieldNamefieldName=("商品ID","圖書名稱","價格","出版日期")(4)定義一個3組數(shù)據(jù)的列表,并賦值給變量bookData每組數(shù)據(jù)為1個元組,每個元組包含4個元組。bookData=[(1,"HTML5+CSS3移動Web開發(fā)實戰(zhàn)",58.00,"2019-5-1"),(2,"給Python點(diǎn)顏色青少年學(xué)編程",

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論