【问题标题】:why is my function not adding up all my numbers? it only gives the first number为什么我的函数没有把我所有的数字加起来?它只给出第一个数字
【发布时间】:2021-04-29 08:22:59
【问题描述】:

我目前是python的初学者, 为什么我的函数没有返回添加的参数 一起?这是我的代码:

def add(*numbers):
    total = 0
    for number in numbers:
        total = total + number
        return(total)

我使用如下函数。

add(9,9,9)

我得到了输出。

9

【问题讨论】:

  • 欢迎来到 StackOverflow!请阅读this,然后将您的代码作为代码而不是图像添加到您的问题中。
  • 您的return 语句缩进太远,请将其与for 对齐。
  • 我们不允许在 Stack Overflow 上显示文本图像(代码/输入/输出/错误或其他)。请将您的代码发布为 (formatted) 文本.阅读更多here。带有文本/代码/错误图像的问题通常会被关闭。另请查看tour 和问题指南here,以确保此问题和您未来的问题适合此问答。

标签: python


【解决方案1】:

你的缩进有问题。

试试这个:

def add(*numbers):
    total = 0
    for number in numbers:
        total = total + number

    return (total)

【讨论】:

    【解决方案2】:

    目前,您的代码在运行一次 add 函数后返回总计,将 return(total) 向后移动一个选项卡,例如,您的代码应如下所示:

    def add(*numbers):
       total = 0
       for the number in number:
            total += number
       return total
    

    【讨论】:

      【解决方案3】:

      调整return(total)行的缩进。现在它只返回第一个数字而不看其他数字。

      这应该可行:

      def add(*numbers):
          total = 0
          for number in numbers:
              total+=number
          return total
      

      【讨论】:

        【解决方案4】:

        正如其他人在他们的回答中所说,你有一个意图问题。因为没有;也不是 {},Python 对定义函数限制的缩进非常敏感......真的。

        试试:

        def add(*numbers):
            total = 0
            for number in numbers:
                total = total + number
            return (total)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-12
          • 2018-10-28
          • 2021-11-16
          相关资源
          最近更新 更多