一.实验内容:《零基础学Python》第六章实例和实战,以及一道作业题

二.实验环境:IDLE Shell 3.9.7

三.实验目的和要求:掌握定义和调用函数、变量的作用域、匿名函数、参数传递、返回值等

四.实验内容:

  • 作业01

    编写一段程序,判断输入的电话号码是中国联通、中国电信或中国移动

    完整代码:
点击查看代码
import re
pattern1=r'(13[4-9]\d{8})$|(14[78]\d{8})$|(15[012789]\d{8})$|(17[28]\d{8})$|(18[23478]\d{8})$|(19[578]\d{8})$'
pattern2=r'(13[3]\d{8})$|(14[9]\d{8})$|(17[37]\d{8})$|(18[019]\d{8})$|(19[0139]\d{8})$'
pattern3=r'(13[0-2]\d{8})$|(14[56]\d{8})$|(16[6]\d{8})$|(17[56]\d{8})$|(18[56]\d{8})$|(19[6]\d{8})$'
mobile=input( )
yd=re.match(pattern1,mobile)
dx=re.match(pattern2,mobile)
lt=re.match(pattern3,mobile)
if yd==None and dx==None and len(mobile)==11:
print(mobile,'是中国联通的手机号')
elif yd==None and lt==None and len(mobile)==11:
print(mobile,'是中国电信的手机号')
elif dx==None and lt==None and len(mobile)==11:
print(mobile,'是中国移动的手机号')
else:
print('请输入11位数的手机号码')

运行结果:

  • 实例01 输出每日一帖(共享版)

    在IDLE中创建一个名称为function_tips.py的文件,然后在该文件中创建一个名称为function_tips的函数,在该函数中,从励志文字列表中获取一条励志文字并输出,最后再调用函数function_tips(),代码如下:
点击查看代码
def function_tips():
'''功能:每天输出一条励志文字
'''
import datetime #导入日期时间类
#定义一个列表
mot=["今天星期一:\n坚持下去不是因为我很坚强,而是因为我别无选择",
"今天星期二:\n含泪播种的人一定能笑着收获",
"今天星期三:\n 做对的事情比把事情做对重要",
"今天星期四:\n 命运给予我们的不是失望之酒,而是机会之杯",
"今天星期五:\n 不要等到明天,明天太遥远,今天就行动",
"今天星期六:\n 求知若饥,虚心若愚",
"今天星期七:\n 成功属于那些从不说”不可能“的人" ]
day=datetime.datetime.now().weekday() #获取当前日期
print(mot[day]) #输出每日一帖
#*******************************调用函数*********************************
function_tips()

运行结果:

  • 实例02 根据身高、体重计算BMI指数(共享版)

    在IDLE中创建一个名称为function_bmi.py的文件,然后在该文件中定义一个名称为fun_bmi的函数,该函数包括3个参数,分别用于指定姓名、身高和体重,在根据公式:BMI=体重/(身高×身高)计算BMI指数,并输出结果,最后在函数体外调用两次fun_bmi函数,代码如下:
点击查看代码
def fun_bmi(person,height,weight):
'''功能:根据身高和体重计算BMI指数
person:姓名
height:身高,单位:米
weight:体重,单位:千克
'''
print(person+'的身高:'+str(height)+'米\t 体重:'+str(weight)+'千克')
bmi=weight/(height*height)
print(person+'的BMI指数为:'+str(bmi))
#判断身材是否合理
if bmi<18.5:
print("您的体重过轻~@_@~")
if bmi>=18.5 and bmi<24.9:
print("正常范围,注意保持(-_-)")
if bmi>=24.9 and bmi<29.9:
print("您的体重过重~@_@~")
if bmi>=29.9:
print("肥胖^@_@^")
#*********************调用函数*********************
fun_bmi("路人甲",1.83,60)
fun_bmi("路人乙",1.60,50)

运行结果:

  • 实例03 根据身高、体重计算BMI指数(共享升级版)

    在IDLE中创建一个名称为function_bmi_upgrade.py的文件,然后在该文件中定义一个名称为fun_bmi_upgrade的函数,该函数包括一个可变参数,用于指定包括姓名、身高和体重的测试人信息,在该函数中将根据测试人信息计算BMI指数,并输出结果,最后在函数体外定义一个列表,并且将该列表作为fun_bmi_upgrade()函数的参数调用,代码如下:
点击查看代码
def fun_bmi_upgrade(*person):
'''功能:根据身高和体重计算BMI指数
*person:可变参数该参数中需要传递带3个元素的列表,
分别为姓名、身高(单位:米)和体重(单位:千克)
'''
for list_person in person:
for item in list_person:
person=item[0]
height=item[1]
weight=item[2]
print("\n"+"="*13,person,"="*13)
print('身高:'+str(height)+'米\t 体重:'+str(weight)+'千克')
bmi=weight/(height*height)
print('BMI指数:'+str(bmi))
#判断身材是否合理
if bmi<18.5:
print("您的体重过轻~@_@~")
if bmi>=18.5 and bmi<24.9:
print("正常范围,注意保持(-_-)")
if bmi>=24.9 and bmi<29.9:
print("您的体重过重~@_@~")
if bmi>=29.9:
print("肥胖^@_@^")
#*********************调用函数*********************
list_w=[('绮梦',1.70,65),('零语',1.78,50),('黛兰',1.72,66)]
list_m=[('梓轩',1.80,75),('冷伊一',1.75,70)]
fun_bmi_upgrade(list_w,list_m)

运行结果:

  • 实例04 模拟结账功能——计算实付金额

点击查看代码
def fun_checkout(money):
'''功能:计算商品合计金额并进行折扣处理
money:保存商品金额的列表
返回商品的合计金额和折扣后的金额
'''
money_old=sum(money)
money_new=money_old
if 500<=money_old<1000:
money_new='{:.2f}'.format(money_old*0.9)
elif 1000<=money_old<=2000:
money_new='{:.2f}'.format(money_old*0.8)
elif 2000<=money_old<=3000:
money_new='{:.2f}'.format(money_old*0.7)
elif money_old>=3000:
money_new='{:.2f}'.format(money_old*0.6)
return money_old,money_new
#*******************调用函数*********************
print("\n开始结算......\n")
list_money=[]
while True:
inmoney=float(input("输入商品金额(输入0表示输入完毕):"))
if int(inmoney)==0:
break
else:
list_money.append(inmoney)
money=fun_checkout(list_money)
print("合计金额:",money[0],"应付金额:",money[1])

运行结果:

  • 实例05 一棵松树的梦

点击查看代码
pinetree='我是一棵松树'
def fun_christmastree():
'''功能:一个梦
无返回值
'''
pinetree='挂上彩灯、礼物......我变成一棵圣诞树@^.^@\n'
print(pinetree)
#*******************函数体外*********************
print('\n下雪了......\n')
print('==========开始做梦......===========\n')
fun_christmastree()
print('==========梦醒了......=============\n')
pinetree='我身上落满雪花,'+pinetree+'-_-'
print(pinetree)

运行结果:

  • 实例06 应用lambda实现对爬取到的秒杀商品信息进行排序

点击查看代码
bookinfo=[('不一样的卡梅拉(全套)',22.50,120),('零基础学Andoid',65.10,89.80),
('摆渡人',23.40,36.00),('福尔摩斯探案全集8册',22.50,128)]
print('爬取到的商品信息:\n',bookinfo,'\n')
bookinfo.sort(key=lambda x:(x[1],x[1]/x[2]))
print('排序后的商品信息:\n',bookinfo)

运行结果:

  • 实战01 导演为剧本选主角



    代码如下:
点击查看代码
def director_lead(*zj ):
'''功能:输出确定参演剧本主角的名字
'''
for item in zj:
print(item)
zj=input('导演选定的主角是:')
print(str(zj)+"开始参演这个剧本")

运行结果:

  • 实战02 模拟美团外卖商家的套餐



    代码如下:
点击查看代码
def Mtpackage(*packagename):
print('\n米线店套餐如下:1.考神套餐 2.单人套餐 3.情侣套餐')
for item in packagename:
print(item)
param=['考神套餐13元','单人套餐9.9元','情侣套餐20元']
Mtpackage(*param)

运行结果:

  • 实战03 根据生日判断星座



    代码如下:
点击查看代码
def birthday_constellation(month,date):
'''功能:根据生日可以判断出所属星座
month:储存月份的变量
date:储存日期的变量
list_star:储存星座的列表
'''
list_star=['摩羯座','水瓶座','双鱼座','白羊座','金牛座','双子座',
'巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','摩羯座']
list_month= (20,19,21,20,21,22,23,23,23,24,23,22)
if date<list_month[month-1]:
return list_star[month-1]
else:
return list_star[month]
month=int(input('请输入月份(例如:5)'))
date=int(input('请输入日期(例如:17)'))
print(str(month)+'月'+str(date)+'日星座为:',birthday_constellation(month,date))

运行结果:

  • 实战04 将美元转换为人民币



    代码如下:
点击查看代码
def dollar_RMB( my ):
'''功能:将美元按照汇率“1美元=6.28人民币”转换为人民币
'''
rmb=my*6.28
return rmb
my=int(input('请输入要转换的美元金额:'))
print('转换后人民币金额是:',dollar_RMB(my))

运行结果:



Python第六章实验报告的更多相关文章

  1. 简学Python第六章__class面向对象编程与异常处理

    Python第六章__class面向对象编程与异常处理 欢迎加入Linux_Python学习群  群号:478616847 目录: 面向对象的程序设计 类和对象 封装 继承与派生 多态与多态性 特性p ...

  2. Python第六章 面向对象

    第六章 面向对象 1.面向对象初了解 ​ 面向对象的优点: ​ 1.对相似功能的函数,同一个业务下的函数进行归类,分类 ​ 2.类是一个公共的模板,对象就是从具体的模板中实例化出来的,得到对象就得到一 ...

  3. 2019JAVA第六次实验报告

    Java实验报告 班级 计科二班 学号 20188442 姓名 吴怡君 完成时间 2019.10.18 评分等级 实验四 类的继承 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获 ...

  4. Head first python前六章小结

    看这本Head first python已经有十几天了,到第七章开始讲Web开发.移动应用开发,后半年我主要是想往后端的方向发展,所以这本书暂时告一段落.这篇博客没有太多的注释,主要是内容比较简单,只 ...

  5. 第八周作业总结&第六次实验报告

    实验六 Java异常 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获方法. 实验要求 练习捕获异常.声明异常.抛出异常的方法.熟悉try和catch子句的使用. 掌握自定义异常类 ...

  6. Python第六章-函数01-函数的概念和使用

    函数 为了便于程序的维护和更好的实现模块化,好的程序都会分解为很多函数. 可以这么说,对于任何的编程语言,函数都是一个非常重要的概念. python 不仅简化了函数的定义过程,而且还大量借鉴了其他函数 ...

  7. Python第六章-函数04-递归函数和拉姆达表达式

    五.递归函数 什么叫递归(recusive)? 你拿两个镜子互相面对着, 然后去看镜子, 会发现每个镜子中很多个镜子, 层层的嵌套, 无穷尽, 这就是一种递归! 从前有坐山, 山里有座庙, 庙里有个老 ...

  8. Python第六章(北理国家精品课 嵩天等)

    一 1.集合类型定义及其操作: 集合用{}表示,元素用逗号分隔,无序,唯一 集合操作符: |:并 -:减 &:交 ^ :补 <= <:判断子集关系 >= >:判断包含关 ...

  9. python第六章:三大利器(装饰器,迭代器,生成器)--小白博客

    python装饰器 什么是装饰器?在不修改源代码和调用方式的基础上给其增加新的功能,多个装饰器可以装饰在同一个函数上 # 原理(个人理解):将原函数(bar)的内存地址重新赋值,进行覆盖.新值为装饰器 ...

  10. Python第六章-函数02-函数的作用域

    函数 三.作用域规则 有了函数之后,我们必须要面对一个作用域的问题. 比如:你现在访问一个变量,那么 python 解析器是怎么查找到这个变量,并读取到这个变量的值的呢? 依靠的就是作用域规则! 3. ...

随机推荐

  1. 6.配置git-码云仓库

    使用git需要使用码云或者github,github存在访问慢的情况,所以我使用码云(gitee). git客户端 下载安装 到git官网  https://git-scm.com/ 下载git客户端 ...

  2. 简单的js hook

    // ==UserScript== // @name ethereum request // @namespace http://tampermonkey.net/ // @version 0.1 / ...

  3. 打卡node day03 --http 内置模块

    1.内置模块 http 2.加上校验 3.cheerio 可以使用jq 里的选择器 4.结合使用 5.获取的数据是http 路径 拿到具体的图片 6.循环图片

  4. shr8.2视图配置注意点

  5. FTP为什么越来越不好用了?要如何替代?

    FTP相信很多人都不陌生,作为世界范围内第一个文件传输协议,FTP解决了互联网文件传输需求,至今已被广泛使用30多年.但很多人现在慢慢发现,FTP越来越不好用了,或者说越来越无法满足自己需求了,这是为 ...

  6. 305-基于XC7Z020的AI 人工智能 可编程相机

    基于XC7Z020的AI 人工智能 可编程相机 一.产品概述 本产品为一款基于FPGA soc的支持二次开发的智能相机平台,基于大量已有的图形计算库和我们开发的支持库,用户可以使用python语言,轻 ...

  7. 自定义go语言日志输出

    自定义输出符合下列需求: 1.含两类日志输出方式:调试模式下输出到控制台:生产环境输出到日志文件 2.调用不同的函数/方法构造不同的输出方式,后续只需调用日志级别对应的函数即可输出该级别日志 工具构造 ...

  8. 数据驱动DDT(Data-Driven Tests):测试数据的参数化

    准备第三方库: 首先安装ddt库,其次在脚本中引入ddt 打开官网 https://pypi.org/project/ddt/ from ddt import ddt,data,unpack @ddt ...

  9. 插件和依赖的区别以及Java web开发层次结构

    一:插件和依赖的区别 依赖:运行时和开发时都需要用到的包,比如项目中需要一个包,就要添加一个依赖(数据库驱动,连接池,mybatis...),这个依赖在项目运行时也需要,因此在项目打包时需要把这些依赖 ...

  10. 20200924--图像相似度(奥赛一本通P92 5多维数组)

    给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度.说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点.两幅图像的相似度定义为相同像素点数占总像素点数的百分比. ...