实例1 输出每日一贴(共享版)
def function_tips(): '''功能:每天输出一条励志文字''' import datetime mot = ["今天星期一:\n坚持下去不是因为我很坚强,而且因为我别无选择", "今天星期二:\n含泪播种的人一定要笑着收获", "今天星期三:\n做对的事情便把事情做对重要", "今天星期四:\n命运给予我们的不是失望之酒,而是机会之杯", "今天星期五:\n不要等到明天,明天太遥远,今天就行动", "今天星期六:\n求知若饥,虚心若愚", "今天星期日:\n成功将属于那些从不说'不可能'的人"] day = datetime.datetime.now().weekday() print(mot[day]) function_tips()
运行结果
今天星期四: 命运给予我们的不是失望之酒,而是机会之杯
实例2 根据身高、体重计算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("您的体重过轻 ~@..@~\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("肥胖^@..@^\n") fun_bmi("路人甲",1.83,60) fun_bmi("路人乙",1.60,50)
运行结果
路人甲的身高1.83米 体重:60千克 路人甲的BMI指数为:17.916330735465376 您的体重过轻 ~@..@~ 路人乙的身高1.6米 体重:50千克 路人乙的BMI指数为:19.531249999999996 正常范围,注意保持(-_-)
实例3根据身高、体重计算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) 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("肥胖 ^@_@^") #调用函数 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)
运行结果
============= 绮梦 ============= 身高:1.7米 体重:65千克 BMI指数:22.49134948096886 正常范围,注意保持(-_-) ============= 零语 ============= 身高:1.78米 体重:50千克 BMI指数:15.780835753061481 您的体重过轻 ~@_@ ============= 黛兰 ============= 身高:1.72米 体重:66千克 BMI指数:22.30935640886966 正常范围,注意保持(-_-) ============= 梓轩 ============= 身高:1.8米 体重:75千克 BMI指数:23.148148148148145 正常范围,注意保持(-_-) ============= 冷伊一 ============= 身高:1.75米 体重:70千克 BMI指数:22.857142857142858 正常范围,注意保持(-_-)
实例4 模拟结账功能——计算实付金额
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])
运行结果
开始结算...... 输入商品金额(输入0表示输入完毕):288 输入商品金额(输入0表示输入完毕):98.8 输入商品金额(输入0表示输入完毕):168 输入商品金额(输入0表示输入完毕):100 输入商品金额(输入0表示输入完毕):258 输入商品金额(输入0表示输入完毕):0 合计金额: 912.8 应付金额: 821.52
实例5 一棵松树的梦
pinetree = '我是一颗松树' # 定义一个全局变量(松树) def fun_christmastree(): ''' 功能:一个梦 无返回值 ''' pinetree = '挂上彩灯、礼物……我变成一棵圣诞树@^.^@ \n'#定义局部变量 print(pinetree) # 函数体外 print('\n下雪了……\n') print( '===============开始做梦……=============\n') fun_christmastree() # 调用函数 print ( '===============梦醒了……===============\n') pinetree ='我身上落满雪花,' + pinetree + ' -_- ' print(pinetree) #输出全局变量的值
运行结果
下雪了…… ===============开始做梦……============= 挂上彩灯、礼物……我变成一棵圣诞树@^.^@ ===============梦醒了……=============== 我身上落满雪花,我是一颗松树 -_-
实例6 应用lambada实现对爬取到的秒杀商品信息进行排序
bookinfo =[('不一样的卡梅拉(全套)', 22.50, 120),('零基础学Android', 65.10, 89.80), ('摆渡人', 23.40, 36.00),('福尔摩斯探案全集8册', 22.50, 128)] print('爬取到的商品信息:\n', bookinfo) bookinfo.sort(key = lambda x:(x[1], x[1] / x[2])) # 对x[1]第二个字段升序排序,有重复的则再按x[1]/x[2]折扣比例降序排列 print('排序后的商品信息:\n', bookinfo)
运行结果
爬取到的商品信息: [('不一样的卡梅拉(全套)', 22.5, 120), ('零基础学Android', 65.1, 89.8), ('摆渡人', 23.4, 36.0), ('福尔摩斯探案全集8册', 22.5, 128)] 排序后的商品信息: [('福尔摩斯探案全集8册', 22.5, 128), ('不一样的卡梅拉(全套)', 22.5, 120), ('摆渡人', 23.4, 36.0), ('零基础学Android', 65.1, 89.8)]
实战1 导演为剧本选主角
def Actor(actor): print(actor + "开始参演这个剧本") #调用函数 person = input("导演选定的主角是:") Actor(person)
运行结果
导演选定的主角是:关羽 关羽开始参演这个剧本
实战2 模拟美团外卖商家的套餐
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元')
运行结果
米线店套餐如下:1.考神套餐2.单人套餐3.情侣套餐 考神套餐13元 单人套餐9.9元 情侣套餐20元
实战3 根据生日判断星座
星座 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))
运行结果
请输入月份:2 请输入日期:7 2月7日星座为:水瓶座
实战4 将美元转换为人民币
def change(dollar): rmb = dollar * 6.28 return rmb #调用函数 dollar = float(input("请输入要转换的美元金额:")) rmb = change(dollar) print("转换后人民币金额是:" + str(rmb))
运行结果
请输入要转换的美元金额:500 转换后人民币金额是:3140.0
判断是中国移动、中国联通、中国电信号码
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})$' #中国移动匹配手机号:134~139 150~152 157~159 172 178 182~184 187~188 195 197~198 pattern2 = r'(13[3]\d{8})$|(14[9]\d{8})$|(15[3]\d{8})$|(17[37]\d{8})$|(18[019]\d{8})$|(19[013]\d{8})$' #中国电信匹配手机号:133 149 153 173 177 180 181 189 190 191 193 199 pattern3 = r'(13[012]\d{8})$|(14[56]\d{8})$|(15[56]\d{8})$|(16[6]\d{8})$|(17[56]\d{8})$|(18[56]\d{8})$|(19[6]\d{8})$' #中国联通匹配手机号:130 131 132 145 146 155 156 166 175 176 185 186 196 while True: mobile1 = input("请输入您的手机号码:") match1 = re.match(pattern1, mobile1) match2 = re.match(pattern2, mobile1) match3 = re.match(pattern3, mobile1) if match1 != None: print(mobile1, '是有效的中国移动手机号码。') break elif match2 != None: print(mobile1, '是有效的中国电信手机号码。') break elif match3 != None: print(mobile1, '是有效的中国联通手机号码。') break else: print("你的电话可能属于虚拟运营商") break
运行结果
请输入您的手机号码:13411104359 13411104359 是有效的中国移动手机号码。
标签:BMI,person,python,money,bmi,基础,print,第六章,输入 From: https://www.cnblogs.com/20860492232qqqqq/p/16809904.html