You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python运行出现'return' outside function错误,求折扣代码修正帮助

解决'return' outside function及代码逻辑问题

嘿,我来帮你梳理下代码里的问题,一步步解决你的报错和需求~

你代码里的几个核心问题:

  • 列表创建语法错误:你写的nondis=float[1.10,2.40,5.20,6.30,6.70]完全不对,不需要用float包裹列表,直接用方括号[]创建即可,里面的数值本身就是浮点数类型了。
  • return的位置和逻辑错误:你把return放在了for循环内部,这会导致函数在第一次循环时就直接终止并返回,而且nondis/10是试图让整个列表除以10,普通Python列表不支持这种操作,你需要对每个元素单独计算折扣。另外,这里要确认下:你说的“10%折扣”是指支付原价的90%(即减10%),还是只支付原价的10%?我默认按前者来修正,你可以根据需求调整。
  • 无效代码:print(nondis)写在return之后,函数执行return就会直接结束,这行代码永远不会运行。

修正后的代码

def discount_ten():
    # 创建原始浮点数列表
    nondis = [1.10, 2.40, 5.20, 6.30, 6.70]
    # 生成10%折扣后的新列表(即原价的90%)
    discounted_list = [item * 0.9 for item in nondis]
    # 返回折扣后的新列表
    return discounted_list

# 调用函数并打印结果
final_result = discount_ten()
print(final_result)

代码说明:

  1. 用列表推导式快速生成折扣后的列表,比普通for循环更简洁高效;
  2. return放在函数末尾,确保所有元素都处理完后再返回整个新列表;
  3. 如果你的需求是“只支付原价的10%”(也就是打1折),只需要把item * 0.9改成item / 10就可以了。

运行这段代码后,你就能得到每个元素都享受10%折扣的新列表啦~

内容的提问来源于stack exchange,提问作者TFX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:31:32