首页 > 其他分享 >第六章实例与实战

第六章实例与实战

时间:2022-12-08 14:46:08浏览次数:42  
标签:实战 fun person money bmi 如下 print 实例 第六章

实例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("您的体重过轻 ~@_@\n")
    if bmi >= 18.5 and bmi < 24.9:
        print("正常范围,注意保持(-_-)\n")
    if bmi >= 24.9 and bmi < 29.9:
        print("肥胖 ^@_@^\n")

#调用函数
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):
    for list1_person in list_person:
        for item in list1_person:
            person = item[0]
            height = item[1]
            weight = item[2]
            bmi = weight / (height * height)
            print('='*16+str(person)+'='*16)
            print(person+'的身高:'+str(height)+'米\t体重:'+str(weight)+'千克')
            print("您的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")
list_1 = [('梦梦',1.65,50),('小狗',1.72,54)]
list_2 = [('零语',1.77,50),('黛兰',1.72,66)]
list_person = [list_1,list_2]
fun_bmi_upgrade(list_person)
            
复制代码

 

 运行结果如下:

 

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

  在IDLE中创建一个名称为checkout.py的文件,然后在该文件中定义一个名称为 fun_checkout的函数,该函数包括一个列表类型的参数,用于保存输入的金额,在该函数中计算合计金额和相应的折扣,并将计算结果返回,最后在函数体外通过循环输入多个金额保存到列表中,并且将该列表作为fun_checkout()函数的参数调用。

 

代码如下:

复制代码
def fun_checkout(money):
    money_old = sum(money)
    money_new = money_old
    if money_old  >= 500 and money_old <1000:
        money_new = '{:.2f}'.format(money_old * 0.9)
    elif money_old >= 1000 and money_old < 2000:
        money_new = '{:.2f}'.format(money_old * 0.8)
    elif money_old >= 2000 and money_old < 30000:
        money_new = '{:.2f}'.format(money_old * 0.7)
    elif money_old >=300:
        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:一颗松树的梦

   在IDLE中创建一个名称为differenttree.py的文件,然后在该文件中定义一个全局变量pinetree,并为其赋初始值,再定义一个名称为fun_christmastree的函数,在该函数中定义名称为pinetree的局部变量,并输出,最后在函数体外调用fun christmastree()函数,并输出全局变量pinetree的值。

 
代码如下:

复制代码
pinetree = '我是一颗松树'
def fun_christmastree():
    print('挂上彩灯、礼物……我变成了一棵圣诞树@^.^@')
print('下雪了……\n')
print('='*15+'开始做梦……'+'='*15+'\n')
fun_christmastree()
print('\n'+'='*16+'梦醒了……'+'='*16+'\n')
print('我身上落满雪花'+str(pinetree))
复制代码

 运行结果如下:

 

 

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

  在 IDLE中创建一个名称为seckillsort.py的文件,然后在该文件中定义一个保存商品信息的列表,并输出,接下来再使用列表对象的sort()方法对列表进行排序,并且在调用sort()方法时,通过lambda表达式指定排序规则,最后输出排序后的列表。

 
代码如下:

复制代码
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)
复制代码

 运行结果如下:

 

 

实战一:导演为剧本选主角

  模拟导演为剧本选主角,并输出确定参演剧本主角的名字,效果如图所示:

 

 

代码如下:

复制代码
def actor(act):
    print(str(person)+'开始参演这个剧本')
person = input('导演选定的主角是:')
actor(person)
复制代码

 运行结果如下:

 

 

实战二:模拟美团外卖商家的套餐

  美团外卖的商家一般都会推出几款套餐。例如,某米线店套餐:考神套餐13元,单人套餐9.9元,情侣套餐20元。编程实现输出该米线店推出的套餐。效果如图所示。

 

 

代码如下:

复制代码
def taocan(p1,m1,p2,m2,p3,m3):
    print('米线店套餐如下: 1.'+p1+' 2.'+p2+' 3.'+p3)
    print(p1 + m1)
    print(p2 + m2)
    print(p3 + m3)
taocan('考神套餐','13元','单人套餐','9.9元','情侣套餐','20元')
复制代码

 运行结果如下:

 

 

实战三:根据生日判断星座

  根据生日可以判断出所属星座。例如:生日为7月1日,属于巨蟹座。编程实现根据输入的出生月份和日期判断所属星座。效果如图所示。

 

代码如下:

复制代码
# 星座
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))
复制代码

 运行结果如下:

 

 

实战四:将美元转换为人民币

  实现将美元转换为人民币。美元与人民币之间的汇率经常变更,本实战按1美元等于6.28人民币计算。效果如图所示。

 运行结果如下:

 

 

编写程序实现功能:判断手机号码属于移动、电信或者联通

代码如下:

复制代码
#判断输入的手机号码是中国移动/连通/电信

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
复制代码

 运行结果如下:

 

 

 

     

标签:实战,fun,person,money,bmi,如下,print,实例,第六章
From: https://www.cnblogs.com/mengblogs/p/16966027.html

相关文章

  • Kafka技术专题之「性能调优篇」消息队列服务端出现内存溢出OOM以及相关性能调优实战分
    内存问题本篇文章介绍Kafka处理大文件出现内存溢出java.lang.OutOfMemoryError:Directbuffermemory,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮......
  • React实战篇——四、在React中使用Redux
    四、在React中使用Redux1,Redux可以和很多库一起用,为了方便在React中使用Redux,我们需要单独安装react-redux2,展示组件和容器组件展示组件负责应用的UI展示,也就是组件如何......
  • 【案例分享】跨机房ES同步实战
    作者:谢泽华​背景众所周知单个机房在出现不可抗拒的问题(如断电、断网等因素)时,会导致无法正常提供服务,会对业务造成潜在的损失。所以在协同办公领域,一种可以基于同城或异地......
  • 跨机房ES同步实战
    作者:谢泽华背景众所周知单个机房在出现不可抗拒的问题(如断电、断网等因素)时,会导致无法正常提供服务,会对业务造成潜在的损失。所以在协同办公领域,一种可以基于同城或异地......
  • HashMap实战---实现词频统计
    实现原理:用HashMap存储该单词以及单词出现的次数。遍历每一个单词,如果单词在HashMap中的键存在,则将该键值对对应的值+1;如果单词在HashMap中的键不存在,则将该键存......
  • 第六章:bootstrap基础
    bootstrap简介该框架已经帮你写好了很多的页面样式,你如果需要使用,只需要下载对应的文件,之后直接cv拷贝即可在使用bootstrap的时候所有的页面样式都只需要通过class来调节......
  • SpringBoot整合elasticsearch-rest-client实战
    前言很多人在Springboot项目中都已经习惯采用Spring家族封装的spring-data-elasticsearch来操作elasticsearch,而官方更推荐采用rest-client。今天给大家介绍下在springbo......
  • 全网首发:Seata Saga状态机设计器实战
    前言目前业界公认Saga是作为长事务的解决方案。而seata作为目前最流行的分布式事物解决方案也提供了Saga的支持。而采用Seata的Saga模式进行事物控制,核心就是通过状态机来......
  • Seata TCC模式实战
    前言最近状态有点不好,所以创作动力不足,发觉日常生活一定要做减法,对少量的事保持持续专注的投入,养成良好的习惯。今天补充下,SeataTCC模式实战。一、TCC设计原则从TCC模型......
  • 还不会分布式事务,seata xa模式入门实战送上
    文章目录​​前言​​​​一、什么是seata?​​​​二、seata原理说明​​​​1、角色说明​​​​2、什么是Seata的事务模式?​​​​三、SEATA的分布式案例​​​​1、业......