版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元5函数应用与模块化程序设计
【任务5”】编写程序绘制爱心
【任务描述】
(1)在PyChann集成开发环境中创建项目UnitO5°
(2)在项目UnitO5创建Python程序文件5-l.py。
(3)编写程序绘制爱心。
【任务实施】
1.创建PyCharm项目Unit05
成功启动PyCharm后,在指定位置“D:\Pychai*mProject\",创建PyCharm项目
Unit05o
2.创建Python程序文件5・l.py
在PyCharm项目“Unil05”中,新建Pylhon程序文件“5-l.py",
同时PyCharm主窗口显示程序文件“5-1.py”的代码编辑窗口,在该程序文件的代码
编辑窗口也自动添加了模板内容。
3.编写Python程序代码
在新建文件“5-l.py”的代码编辑窗口已有模板注释内容下面输入程序代码。
importmatplotlib.pyplotaspit
importnumpyasnp
defdrawingHeartShape():
t=np.arangc(O,2*np.pi,0.1)
x=16*np.sin(t)**3
y=13*np.cos(t)-5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t)
ph.plot(x,y,color='red")
plt.show()
drawingHeartShapeO
单击工具栏中【保存】按钮,保存程序文件“5-l.py”。
4.运行Python程序
在PyCharm主窗口选择[Run]菜单,在弹出的下拉菜单中选择[Run]菜单项。
在弹出的【Run】对话框中选择“5-1”选项,程序“5-l.py”开始运行。
程序5-l.py的运行结果如图5-1所示。
10
图5-1程序5・Lpy的运行结果
【任务5・2】应用日期时间函数实现倒计时功能
【任务描述】
(1)在项目Unit05创建Python程序文件5-2.py(>
(2)应用日期时间函数实现倒计时功能。
【任务实施】
1.创建Python程序文件5-2.py
在PyCharm项目“Unit05"中,新建Python程序文件“5・2.py”,
同时PyCharm主窗口显示程序文件“5-2.py”的代码编辑窗口,
在该程序文件的代码编辑窗口也自动添加了模板内容。
2.编写Python程序代码
在新建文件“5-2.py”的代码编辑窗口已有模板注释内容下面输入程序代码。
importdatetime
defcounldown(now,strDate):
countdown=datetime.datetime.strptinie(strDate,'%Y-%m-%d')
detla=countdown-now
day=detla.days
returnday
now=datctimc.datctime.todayO
print("\O33[O;31mToday")
print("\O33[O;31m{}年{}月{}R".forniat(now.year,now.month,now.day))
print("\O33[O;3Im距离:")
print。'\O33[O;34m北京冬奥会还有:"+str(countdown(now,,2022-2-4,))+"天")
单击工具栏中【保存】按钮,保存程序文件“5-2.py”.
3.运行Python程序
在PyCharm主窗口选择[Run]菜单,在弹出的下拉菜单中选择[Run]菜单项。
在弹出的[Run]对话框中选择“5-2”选项,程序“52py”开始运行。
程序5・2.py的运行结果为:
Today
2020年4月8日
距离:
东京奥运会还有:106天
北京冬奥会还有:666天
【任务5・3】定义函数计算总金额、优惠金颤和实付金额
【任务描述】
(1)在项FlUnit05创建Python程序文件5-3.py。
(2)定义函数计算总金额、优惠金额和实付金额。
【任务实施】
在PyCharm项目Uni:05中创建Python程序文件5-3.py。在程序文件5-3.py中编写程
序代码,实现所需功能。
defgetDiscountPrice(rank,price):
ifrank=="PLUS":
discountPrice=price*0.88
else:
ifrank==uFAN":
discountPrice=pricc*0.90
else:
discountPrice=price*0.92
returndiscountPrice
defgctDiscount(numbcr,price):
originallbta^nuiTiber+pnce
iforiginalTotal>=299:
discount15.00
returndiscount
defgetCashback(number,price):
originalTbtal=number*price
reduction=int(originalTotal/100)
ifreduction>0:
cashback=rsduclion*50
returncashback
defgetCarriage(payable):
#订单金额V49,收取基础运费6元:订单金额249,收取基础运费0元
ifpayable<49:
carriage=6.D0
else:
carriage=0.00
returncarriage
defprintData(*data):
print("总金额:¥'*+',(:.2f)".format(datarO]))
print(“运费:¥"+"{:.2f}".format(datallJ))
print("返现金额:-¥"+”{:.2f}”.format(data[2D)
print("优惠金额:-¥,,+"(:.2f}".format(data[3]l)
print("实付总额:¥"+,,{:.2f}".format(data[4]))
originalPrice=99.8()
number=4
originalTota^numbcr^originalPricc
rank="Ordinaryusers"
discountPrice=getDiscountPrice(rank,originalPrice)
discountAmount=number:,:discountPrice
discount=getDiscount(number,originalPrice)
cashback=getCashback(number,originalPrice)
discountTotal=discount+cashback
payablc=discountAmount-discountTotal
carriage=getCarriage(payable)
payable+=carriage
printData(discountAmoun(,carriage,cashback,discount,payable)
print("")
程序5-7.py的运行结果为:
总金额:¥367.26
运费:¥0.00
返现金额:-¥150.0。
优惠金额:-¥15.00
实付总额:¥202.26
【任务5・4】自定义函数应用多种方法对齐输出图书数据
【任务描述】
(1)在项目Unit05创建Python程序文件5-4.py。
(2)综合应用多种方法对齐输出图书数据。
【任务实施】
在PyChann项目Uni:05中创建Python程序文件5-4.py.在程序文件5-4.py中编写程
序代码,实现所需功能。
importdatetime
defgetSize(text):
iftype(text)!=str:
text=str(text)
lenText=len(text)#调用len函数计算字符串的字符数豉
lenTextUtf8=len(text.encode('UTF-8'))折十算字符串UTF-8编码的长度
ifIcnTcxt!=IcnTextUtfB:
size=int(lenTexl-(lenTextUtfB-lenText)/2)#计算字符中半角字符的数量
returnsize
else:
return0
defprintField(fieldName):
print("{0:{1}A6s)n.format(fieldName[0],chr(12288)),cnd="")#商品ID
print(H{0:{1}A20s)H.fbrmat(ficldNamc[ll,chr(12288)),cnd="")#图书名称
print("{0:{l>A14s)H.format(fieldName[2],chr(12288)),end="")#价格
print("{0:{l}A6s}".format(fieldName[3],chr(l2288)))#出版日期
defprintFonnatData(text,align,len):
iftype(text)==datetime.date:
text=datctime.datc.strftimc(tcxt,"%Y-%m-%d")
#0对应输出的字符串,1对应填空符,2对应对齐方式,3对应显示长度
print("{0:{1}{2}{3}}".format(text,chr(12288),alignJen),end=",^)
defprintBlankFill(text,endMark):
print("{0:<{I}s}".format(chr(32),str(getSize(text))),end=endMark)#chr(32)返回半角
空格
defprinlDala(bookData):
forrowinbookData:
printFormalData(row[0],"A'\"6dn)
printFormatData(row[l],"24s'1)
printBlankFill(row[l],"")
printFormatData(row[2],"A","8.2f)
printFormatData(rowl3],"A'\"12s")
printC")
fieldName=("商品ID”,“图书名称“,“价格“,“出版日期”)
#数据列表
bookData=[(1,"HTML5+CSS3移动Web开发实战”,58.00,”2019-5-1”),
(2J给Python点颜色青少年学编程”,59.80,-2019-9-1"),
(3JPPT设计从入门到精通”,79.00,“2019-1-1"),
]
printFicld(ficldNamc)
printData(bookData)
程序5-4.py的运行结果如图5-2所示。
口商品ID。口口口口口:□口口图书名称ZI口口口口口口口口口口口口匚价格口口口口口口口出版日期口
1HTML5+CSS3移动Web开发实战.1:I:□.!□58.001「2019-5-1JI
2给Python点颜色青少年学编程匚59.80K-I2019-9-1
3!.PPT设计从入门到精通IJI「匚匚口!」口”9.00:2.II2019-1-1JL!
图5-2程序5-8.py的运行结果
【任务5・5】编写程序自定义模块与函数格式输出商品信息
【任务描述】
(1)在项目Unit05创建Python程序文件5-5.py,
(2)自定义模块commonModult.py,在该模块中自定义函数printField。、
printFormatData()printBlankFill(),分别用「输出表格标题行、格式化输出商品信息,输
出填充空格。
(3)编写程序自定义模块与函数格式输出商品信息。
【任务实施】
1.创建模块文件commonModult.py
在项目文件夹PychamProjecl中创建模块文件commonModult.py,
在该模块中分别定义4个函数,名称分别为:getSize、printField、printFoimatData、
printBlankFillo
编写模块commonModult的程序代码。
importdatetime
defgctSizc(tcxt):
iflype(lext)!=str:
text=str(text)
lenText=len(text)#调用len函数计算字符串的字符数量
lenTextUtf8=len(text.encode('UTF-8'))#计算字符串UTF-8编码的长度
ifIcnTcxt!=IcnTextUtfB:
size=int(lenText-(lenTextUtf8-lenText)/2)#计算字符中半角字符的数量
returnsize
else:
return0
defprintField(fieldName):
printC(0:{l)A6s}".format(fieldName[0],chr(12288)),end='H')#商品ID
print("{0:{1}A20s}".forniat(fieklName[11,chr(12288)),end)#图书名称
print("{0:{1}A14s}".format(ficldNamc[2],chr(12288)),end="")#价格
print("{O:{l}A6s}".format(fieldName[3],chr(12288)))#出版日期
defprintFormatDa(a(text,align,len):
iftype(text)==datetinie.date:
text=da(etime.date.strftime(text,"%Y-%m-%d")
#0对应输出的字符串,1对应填充符,2对应对齐方式,3对应显示长度
print("{0:{1){2({3))".formatCtext,chr(12288),align,len),end="")
defprintBlankFill(tcxt,endMark):
print("{0:<{1}s}'\format(chr(32),str(getSize(text))),end=endMark)#chr(32)返回
半角空格
2.创建Python程序文件5-5.py
在PyCharm项目Uni:05中创建Python程序文件5-5.py。
在程序文件5-5.py中编写程序代码,实现所需功能。
fromcommonModuliimportprintFormatData,prinlBlankFill,printFicld
defprinlData(bookData):
forrowinbookData.
printFormatData(row[OJ,,,A';"6d")
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年学生成长记录袋建立与使用指导
- 单位资质荣誉维护承诺函9篇
- 2026年大学生心理韧性提升的拓展训练
- 2026年乙烯生产工安全技术操作规程
- 企业协作信用保证责任承诺函5篇
- 2026年手持式光谱仪日常校准操作规程
- 环保背景下行业安全规范手册
- 2026年农村房屋节能门窗选型与安装工艺
- 2026年企业心理危机干预小组组建
- 智慧城市发展中环境保护承诺书(3篇)
- 幕墙工程施工质量培训课件
- 语文 第18课《井冈翠竹》课件+2024-2025学年统编版语文七年级下册
- 2022起重机械维护保养和检查规范
- 中学教育基础(上)知到课后答案智慧树章节测试答案2025年春陕西师范大学
- 2024年广东省中考数学试卷(含答案解析)
- 【培训课件】DCS基础培训课程(和利时)
- 酒店清洗合同范例
- GB/T 4706.9-2024家用和类似用途电器的安全第9部分:剃须刀、电理发剪及类似器具的特殊要求
- JT-T-1344-2020纯电动汽车维护、检测、诊断技术规范
- 《红色家书》读后感
- 公安机关录用人民警察政治考察表
评论
0/150
提交评论