返回值

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

到目前为止,我们创建的函数都只是为我们做一些事,做完了就结束。但实际上,有时还需要对事情的结果进行获取。这类似于主管向下级职员下达命令,职员去做,最后需要将结果报告给主管。为函数设置返回值的作用就是将函数的处理结果返回给调用它的程序。

在Python中,可以在函数体内使用return语句为函数指定返回值,该返回值可以是任意类型,并且无论return语句出现在函数的什么位置,只要得到执行,就会直接结束函数的执行。

return语句的语法格式如下:

return [value]

参数说明:

value:可选参数,用于指定要返回的值,可以返回一个值,也可返回多个值。

为函数指定返回值后,在调用函数时,可以把它赋给一个变量(如result),用于保存函数的返回结果。如果返回一个值,那么result中保存的就是返回的一个值,该值可以为任意类型。如果返回多个值,那么result中保存的是一个元组。

说明:当函数中没有return语句时,或者省略了return语句的参数时,将返回None,即返回空值。

场景模拟:某商场年中促销,优惠如下:

l 满500可享受9折优惠

l 满1000可享受8折优惠

l 满2000可享受7折优惠

l 满3000可享受6折优惠

根据以上商场促销活动,计算优惠后的实付金额。

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

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

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]) # 显示应付金额

运行结果如图13所示。

图13 模拟顾客结账功能

相关推荐
码农郁郁久居人下25 分钟前
Redis的配置与优化
数据库·redis·缓存
麒麟而非淇淋26 分钟前
AJAX 入门 day1
前端·javascript·ajax
架构文摘JGWZ28 分钟前
Java 23 的12 个新特性!!
java·开发语言·学习
2401_8581205328 分钟前
深入理解MATLAB中的事件处理机制
前端·javascript·matlab
FreakStudio29 分钟前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
python·嵌入式·面向对象·电子diy
阿树梢33 分钟前
【Vue】VueRouter路由
前端·javascript·vue.js
拾光师1 小时前
spring获取当前request
java·后端·spring
aPurpleBerry1 小时前
neo4j安装启动教程+对应的jdk配置
java·neo4j
我是苏苏1 小时前
Web开发:ABP框架2——入门级别的增删改查Demo
java·开发语言
MuseLss1 小时前
Mycat搭建分库分表
数据库·mycat