返回值

自学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 模拟顾客结账功能

相关推荐
林恒smileZAZ1 天前
Vue<前端页面版本检测>
前端·javascript·vue.js
ZhengEnCi1 天前
M3-markconv库找不到wkhtmltopdf问题
python
码事漫谈1 天前
当AI开始“思考”:我们是否真的准备好了?
前端·后端
沃尔威武1 天前
数据库 Sinks(.net8)
数据库·.net·webview
2301_764441331 天前
LISA时空跃迁分析,地理时空分析
数据结构·python·算法
许杰小刀1 天前
ctfshow-web文件包含(web78-web86)
android·前端·android studio
014-code1 天前
订单超时取消与库存回滚的完整实现(延迟任务 + 状态机)
java·开发语言
Dreamboat¿1 天前
SQL 注入漏洞
数据库·sql
我是Superman丶1 天前
Element UI 表格某行突出悬浮效果
前端·javascript·vue.js
恋猫de小郭1 天前
你的代理归我了:AI 大模型恶意中间人攻击,钱包都被转走了
前端·人工智能·ai编程