07_1 Python学习总结:函数案例
1. 参数传递
案例1:定义一个名称为fun_bmi()的函数,该函数包括3个参数,分别用于指定姓名,身高,体重,再根据公式:BMI = 体重/(身高X身高) 计算BMI指数,并打印输出结果。
def fun_bmi(person, height, weight):
"""功能:根据身高和体重计算BMI指数 :param person: 姓名 :param height: 身高 :param weight: 体重 """
print(person+'的身高:' + str(height) + '米\t体重:' + str(weight) + '千克')
bmi = weight/(height*height)
print(person + 'BMI指数为:' + str(bmi))
# 判断身材是否合理
if bmi < 18.5:
print('您的体重过轻 -@_@\t')
if bmi >= 18.5 and bmi < 24.9:
print('正常范围,注意保持 -@_@\t')
if bmi >= 24.9 and bmi < 29.9:
print('您的体重过重 -@_@\t')
if bmi >29.9:
print('肥胖 -@_@\t')
fun_bmi('张三', 1.83, 60)
fun_bmi('李四', 1.60, 50)
执行结果如下图:
2. 返回值
案例2:模拟结账功能–计算实付金额
商城促销,优惠如下:满500可打9折,满1000可打8折,满2000可打7折,满3000可打6折,计算优惠后的实付金额。
def fun_checkout(money):
"""功能:计算商品金额并进行折扣处理 :param money: 保存商品金额的列表 :return: 返回合计金额和折扣后的金额 """
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])
执行结果如下图:
还没有评论,来说两句吧...