为了账号安全,请及时绑定邮箱和手机立即绑定

运行Python程序时,弹出错误“'return' external function”

运行Python程序时,弹出错误“'return' external function”

九州编程 2021-12-09 15:34:07
运行Python程序时,弹出错误“'return' external function”。我正在尝试制作一个浮点数列表并返回一个列表,其中每个元素都有 10% 的折扣。def discount_ten():nondis=float[1.10,2.40,5.20,6.30,6.70]for i in nondis:  |return(nondis/10) #<- "|" is the red highlighting.#print(nondis)有人可以帮忙吗?
查看完整描述

3 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

缩进错误,您需要正确缩进您的函数定义,即:


def discount_ten():

    nondis=float[1.10,2.40,5.20,6.30,6.70]

    for i in nondis:

      return(nondis/10) 

    print(nondis)

注意:Python 遵循特定的缩进风格来定义代码,因为 Python 函数没有像花括号那样显式的开始或结束来指示函数的开始和结束,所以它们必须依赖于这种缩进。


编辑(固定为您想要的输出):


使用列表来存储结果,您不需要return循环中的 a,因为这将退出循环并仅0.11000000000000001在第一次迭代时打印。此外,使用 around()舍入到最接近的所需小数位:


def discount_ten():

    nondis = [1.10,2.40,5.20,6.30,6.70]

    res = []                      # empty list to store the results

    for i in nondis:

      res.append(round(i/10, 2))  # appending each (rounded off to 2) result to the list

    return res                    # returning the list


print(discount_ten())

输出:


[0.11, 0.24, 0.52, 0.63, 0.67]


查看完整回答
反对 回复 2021-12-09
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

我认为您的函数没有正确缩进,请查看以下代码:


此函数打印期望输出:


def discount_ten():

   nondis=[1.10,2.40,5.20,6.30,6.70]

   for i in nondis:

     print(i/10)

此函数返回所需输出的列表:


def discount_ten():

    nondis=float[1.10,2.40,5.20,6.30,6.70]

    disc_ten=[]

    for i in nondis:

       disc.append(i/10)

    return disc

注意:代码块(函数体、循环等)以缩进开始,以第一个未缩进的行结束。缩进量由您决定,但它必须在整个块中保持一致。


查看完整回答
反对 回复 2021-12-09
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

在 Python 中,缩进是代码的重要组成部分。每个块添加一级缩进。要定义函数,您必须将函数的每一行缩进相同的数量。


def discount_ten():

    distcount_list = []

    nondis = [1.10,2.40,5.20,6.30,6.70]

    for i in nondis:

        distcount_list.append(round(i/10,2))

    return distcount_list

print(discount_ten())


查看完整回答
反对 回复 2021-12-09
  • 3 回答
  • 0 关注
  • 257 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号