Python实验报告——第6章 函数
实验报告
实例01:输出每日一帖(共享版)
代码如下:
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指数(共享版)
代码如下:
def fun_bmi(person,height,weight): '''功能:根据身高和体重计算BMI指数 person:姓名 height:身高,单位:米 weight:体重,单位:千克 ''' print(person + '的身高:' + str(height) + '米\t体重:' + str(weight) + '千克') bmi=weight/(height*height) #用于计算BMI指数,公式为:BMI=体重/身高的平方 print(person + '的BMI指数为:' +str(bmi)) #输出BMI指数 #判断身材是否合理 if bmi<18.5: print('您就是个细狗 ~@_@~\n') if bmi>=18.5 and bmi<=24.9: print('正常身材捏,您吉祥(-_-)\n') if bmi>=24.9 and bmi<=29.9: print('嚯,您还真能吃 ~@_@~\n') if bmi>=29.9: print('爷您真是吃了喝喝了睡 ^@_@^') # **************************调用函数**************************** # fun_bmi('路人甲',1.83,60) fun_bmi('路人乙',1.60,50)
运行结果如下:
实例03:根据身高、体重计算BMI指数(共享升级版)
代码如下:
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) # 用于计算BMI指数,公式为:BMI=体重/身高的平方 print('BMI指数为:' + str(bmi)) # 输出BMI指数 # 判断身材是否合理 if bmi < 18.5: print('您就是个细狗 ~@_@~\n') if bmi >= 18.5 and bmi <= 24.9: print('正常身材捏,您吉祥(-_-)\n') if bmi >= 24.9 and bmi <= 29.9: print('嚯,您还真能吃 ~@_@~\n') if bmi >= 29.9: print('爷您真是吃了喝喝了睡 ^@_@^') # **************************调用函数**************************** # list_w = [('绮梦',1.70,65),('零语',1.78,50),('黛兰',1.72,66)] list_m = [('梓轩',1.80,75),('冷依依',1.75,7)] 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: #满500可享受9折优惠
money_new = '{:.2f}'.format(money_old * 0.9)
elif 1000 <= money_old < 2000: #满1000可享受8折优惠
money_new = '{:.2f}'.format(money_old * 0.8)
elif 2000 <= money_old < 3000: #满2000可享受7折优惠
money_new = '{:.2f}'.format(money_old * 0.7)
elif money_old >= 3000: # 满3000可享受6折优惠
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:一颗松树的梦
代码如下:
pientree = '我是一棵树' #定义一个全局变量(松树) def fun_christmastree(): #定义函数 '''功能:一个梦 无返回值 ''' pientree = '挂上彩灯、礼物……我变成一棵圣诞树 @^.^@ \n' #定义局部变量 print(pientree) #输出局部变量的值 #********************函数体外******************# print('\n下雪了……\n') print('========== 开始做梦…… ==========\n') fun_christmastree() #调用函数 print('=========== 梦醒了 =========\n') pientree = '我身上落满雪花,' + pientree +' -_-' #为全局变量赋值 print(pientree) #输出全局变量的值
运行结果如下:
实例06:应用lambda实现对爬取到的秒杀商品信息进行排序
代码如下:
bookinfo = [('不一样的卡梅拉(全套)',22.50,120),('零基础学Python',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)
运行结果如下:
实战一:导演为剧本选主角
代码如下:
def Actor(actor): print(actor + "开始参演这个剧本") #调用函数 person = input("导演选定的主角是:") Actor(person)
运行结果如下:
实战二:模拟美团外卖商家的套餐
代码如下:
def Package(package1, money1, package2, money2, package3, money3): print('米线店套餐如下:1.'+ package1 + '2.' + package2 + '3.' +package3) print(package1 + money1) print(package2 + money2) print(package3 + money3) #调用函数 Package('考神套餐', '13元', '单人套餐', '9.9元', '情侣套餐', '20元')
运行结果如下:
实战三:根据生日判断星座
代码如下:
#星座 list = ['摩羯座','水瓶座','双鱼座','白羊座','金牛座','双子座', '巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','摩羯座'] #1、白羊座:3月21日~4月19日 2、金牛座:4月20日~5月20日 #3、双子座:5月21日~6月21日 4、巨蟹座:6月22日~7月22日 #5、狮子座:7月23日~8月22日 6、处女座:8月23日~9月22日 #7、天秤座:9月23日~10月23日 8、天蝎座:10月24日~11月22日 #9、射手座:11月23日~12月21日 10、摩羯座:12月22日~1月19日 #11、水瓶座:1月20日~2月18日 12、双鱼座:2月19日~3月20日 #日期 d = [20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22] def starSign(month, day): #如果日期小于月份减一就是前一个星座,否则就是本月所对应的星座 if day < d[month-1]: return list[month-1] else: return list[month] #调用函数 month = int(input("请输入月份:")) day = int(input("请输入日期:")) print(str(month) + "月" + str(day) + "日星座为:" + starSign(month, day))
运行结果如下:
实战四:将美元转换为人民币
代码如下:
def change(dollar): rmb = dollar * 6.28 return rmb #调用函数 dollar = float(input("请输入要转换的美元金额:")) rmb = change(dollar) print("转换后人民币金额是:" + str(rmb))
运行结果如下: