• 欢迎光临~

第六章 函数

开发技术 开发技术 2022-10-20 次浏览

一. 输出每日一贴

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指数(共享版)

  1. 代码:

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("肥胖 ^@_@^n")

#****************************调用函数*****************************#

fun_bmi("路人甲",1.83,60)       #计算路人甲的BMI指数

fun_bmi("路人乙",1.60,50)       #计算路人乙的BMI指数结果:

2.结果:

路人甲的身高:1.83米  体重:60千克

路人甲的BMI指数为:17.916330735465376

您的体重过轻 ~@_@~

 

路人乙的身高:1.6米     体重:50千克

路人乙的BMI指数为:19.531249999999996

正常范围,注意保持(-_-)

三. 根据身高、体重计算BMI指数(共享升级版)

1.代码: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(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("肥胖 ^@_@^n")

#**********************调用函数**********************#

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)    #调用函数指定可变参数

2.结果:============= 绮梦 =============

绮梦的身高: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

正常范围,注意保持(-_-)

 

四,模拟结账功能-------计算实付金额

  1. 代码:

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])

 

  1. 结果:

开始结算......

 

输入商品金额(输入0表示输入完毕):288

输入商品金额(输入0表示输入完毕):500

输入商品金额(输入0表示输入完毕):0

合计金额: 788.0 应对金额: 709.20

 

五.一颗松树的梦

1,代码:

pinetree = '我是一颗松树'       #定义一个全局变量(松树)

def fun_christmastree():        #定义函数

    '''功能:一个梦

          无返回值

    '''

    pinetree = '挂上彩灯、礼物......我变成一颗圣诞树 @^.^@n' #定义局部变量

    print(pinetree)                          #输出局部变量的值

#**************************函数体外**************************#

print('n下雪了……n')

print('================开始做梦……================n')

fun_christmastree()              #调用函数

print('================梦醒了……==============n')

pinetree = '我身上落满雪花,'+ pinetree + '-_-'    #为全局变量赋值

print(pinetree)      #输出全局变量的值

   

2.结果:

下雪了……

 

================开始做梦……================

 

挂上彩灯、礼物......我变成一颗圣诞树 @^.^@

 

================梦醒了……==============

 

我身上落满雪花,我是一颗松树-_-

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

1.代码:

bookinfo = [('不一样的卡梅拉(全套)',22.50,120),('零基础学Android',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)

2.结果:

爬取到的商品信息:

 [('不一样的卡梅拉(全套)', 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 act(actor):    #定义函数

    print(actor+"开始参演这歌剧本")

A = input("导演选定的角色是:")

act(A)     #调用函数

2. 结果:

导演选定的角色是:关羽

关羽开始参演这歌剧本

 

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

  1. 代码:

def taocan(a,b,c,d,e,f):

    print('米线店套餐如下:1. '+ a + '2.' + c + '3.' + e)

    print(a+b)

    print(c+d)

    print(e+f)

taocan('考神套餐','13元','单人套餐','9.9元','情侣套餐','20元')

  1. 结果:

米线店套餐如下:1. 考神套餐2.单人套餐3.情侣套餐

考神套餐13元

单人套餐9.9元

情侣套餐20元

 

 

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

  1. 代码:

# 星座

m = ('摩羯座','水瓶座','双鱼座','白羊座','金牛座','双子座',

     '巨蟹座','狮子座','处女座','天秤座','天蝎座','射手座','摩羯座')

# 日期

d = (20,19,21,20,21,22,23,23,23,24,23,22)

def xingzuo(month,day):

    if day < d[month-1]:

        return m[month-1]

    else:

        return m[month]

M = int(input("请输入月份:"))

D = int(input("请输入日期:"))

print(str(M)+"月"+str(D)+"日星座为:"+xingzuo(M,D))

2.结果:

请输入月份:3

请输入日期:7

3月7日星座为:双鱼座

 

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

  1. 代码:

def change(dollar):

    RMB = dollar * 6.28

    return RMB

dollar = float(input("请输入要转换的美元金额:"))

print("转换后人民币金额是:" , change(dollar))

  1. 结果:

请输入要转换的美元金额:700

转换后人民币金额是: 4396.0

程序员灯塔
转载请注明原文链接:第六章 函数
喜欢 (0)