【问题标题】:Return value, use in other function返回值,在其他函数中使用
【发布时间】:2018-02-26 14:54:04
【问题描述】:

我觉得我误解了一些非常基本的东西。我写了一个程序来做一些数学运算:

import math
def func1(a, b, c):
    print (f"We will now square {a}, {b}, {c} and add them")
    y = (a**2) + (b**2) + (c**2)
    print (f"y = ", y)
    x = y/3
    print ("x = ", x)
    z = math.sqrt(x)
    print ("z = ", z)
    return z
func1(1, 5, 1)

这行得通,我得到了所需的输出,即 Z。 但在我看来,我应该能够编写一个函数,返回一个值,然后在另一个函数中使用该值。我想分解上述脚本中的步骤,以便更清楚地看到它们。我无法做到这一点,但成功地将所有数学都放在了一个步骤中,如上所示。理想情况下,我会写一些东西,它看起来像这样......

Func1(a, b, c) 平方数 a,b,c。添加它们然后返回值

功能2 取我从 Func1 返回的值,除以 3。返回值。

Func3 从 Func2 中获取值的平方根

感谢您的帮助。

【问题讨论】:

  • 是的,你可以这样做。是什么阻止了你?
  • 执行result = func1(1, 5, 1) 并将其插入新功能。例如。 func2(result)

标签: python


【解决方案1】:

是的,您可以这样做,只需根据需要将它们传递给不同的函数。 例如。

def func1(x,y,z):
    .....
    .....
    return ans1

def func2 (ans1):
    .....
    .....
    return ans2


ans1 = func1(1,2,3)
ans2 = func2(ans1)

等等

【讨论】:

    【解决方案2】:

    将每个函数的返回值保存到一个变量中,并传递给下一个函数。例如:

    import math
    
    def func1(a, b, c):
        return (a**2) + (b**2) + (c**2)
    
    def func2(value):
        return value/3
    
    def func3(value):
        return math.sqrt(value)
    
    
    result = func1(1, 5, 1)
    print(result)
    result = func2(result)
    print(result)
    result = func3(result)
    print(result)
    

    【讨论】:

      【解决方案3】:

      这可能会有所帮助::

      import math
      def func1(a, b, c):
          print (f"We will now square {a}, {b}, {c} and add them")
          y = (a**2) + (b**2) + (c**2)
          return y
      def func2(y):
          x = y/3
          return x
      def func3(x):
          z = math.sqrt(x)
          return z
      
      p=func1(1, 5, 1)
      q=func2(p)
      r=func3(q)
      print(r)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-02
        • 2021-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多