首页 > 其他分享 >第6章 函数

第6章 函数

时间:2022-10-19 12:44:28浏览次数:42  
标签:函数 money bmi list height person print

【目的】定义和调用函数及函数的参数、变量的作用域、匿名函数等

实例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)
    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指数(共享升级版)

def fun_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_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开始结算······")
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),('零基础学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)

运行结果如下:

 

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

def act(actor):
    print(actor+"开始参演这个剧本")
A=input("导演选定的主角是:")
act(A)

运行结果如下:

 

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

def taocan(a,b,c,d,e,f):
    print("米线店套餐如下:1."+ a +'2.'+ b+'3.'+c+'4.'+d+'5.'+e+'6.'+f)
    print(a+b)
    print(c+d)
    print(e+f)
taocan('考神套餐','13元','单人套餐','9.9元','情侣套餐','20元')

 

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

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("请输入月份:(例如:5)"))
D=int(input("请输入日期:(例如:17)"))
print(str(M)+'月'+str(D)+'日星座为'+xingzuo(M,D))

运行结果如下:

 

 

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

def change(dollar):
    RMB = dollar*6.28
    return RMB
dollar = float(input("请输入要转换的美元金额:"))
print("转换后人民币金额是:",change(dollar))

运行结果如下:

 

 

标签:函数,money,bmi,list,height,person,print
From: https://www.cnblogs.com/psl-12/p/16805867.html

相关文章

  • SAP ABAP 金额转换大写函数
      1DATA:zs(15).2DATA:xs(15).3DATA:str(30).4DATA:lenTYPEiVALUE0.5DATA:cisTYPEiVALUE0.6DATA:ss(2).7D......
  • 【C语言知识碎片】字符串函数
    1.strlenize_tstrlen(constchar*str);字符串已经'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不含'\0')。注意如果字符串结尾没有\0s......
  • 粒子群优化算法-Python版本和Matlab函数调用
    前两天分享了粒子群优化算法的原理和Matlab原理实现,本文分享一下Python代码下的PSO实现以及Matlab下的粒子群函数。前文参看:​​粒子群优化算法(PSO)​​以Ras函数(Rastrigin's......
  • _initialize()函数与 __construct()函数的区别
    _initialize()方法是在任何方法执行之前,都要执行的,当然也包括__construct构造函数。也就是说如果存在_initialize()函数,调用对象的任何方法都会导致_initialize()函数的自......
  • 封装一个echart字体大小自适应函数
    //自适应echart字体大小exportconstfontSize=(res)=>{letclientWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clien......
  • ABAP中常用的日期处理函数
     1.获取输入日期月份的最后一天:#DATA:lv_dateTYPEsy-datum.CALLFUNCTION'LAST_DAY_OF_MONTHS'EXPORTINGday_in='20140101'"输入日期......
  • ABAP中常用的功能函数
     1.负号前置:#DATAlv_data(6)TYPEcVALUE'12345-'.CALLFUNCTION'CLOI_PUT_SIGN_IN_FRONT'CHANGINGcvalue=lv_data."-12345"2.读取长文......
  • python当中map,reduce和filter函数用法和区别
    在python当中,关于map,reduce和filter函数用法。map:对任何可迭代序列中的每一个元素应用对应的函数。python3中返回的是迭代器。reduce:将序列中所有的元素进行合并运算......
  • MySQL函数
    1.字符串函数1.length():计算字符串长度函数,返回字符串字节长度,一个汉字占三个字节语法:select length('length长度')  -----122.concat():拼接字符串......
  • clamp()函数
    clamp函数clamp:钳子的意思返回范围内的一个数值。可以使用clamp函数将不断增加、减小或随机变化的数值限制在一系列的值中。floatclamp(floatminnumber,floatma......