如何在另一个公式中使用一个公式的结果?

时间:2017-02-22 10:48:10

标签: python function math return formula

如何将一个函数的结果用于另一个函数。

YamlPropertiesFactoryBean

我希望程序可以计算:

list = [1, 1, 1, 1]
def margin():
    a = 0
    b = 1.2
    c = 1
    for i in list:
        if i == 1:
            x = a + b - c
            return x    # x = 0.2


def calc():
    for i in list:
        formula = 2 + margin()
        print(formula)

calc()
# 2.2 2.2 2.2 2.2 

1 个答案:

答案 0 :(得分:6)

解决方案

def margin(element, a=0, b=1.2, c=1, default_margin=0):
    if element == 1:
        return a + b - c
    else:
        return default_margin


def calc(elements, start_value=2):
    formula = start_value
    for i in elements:
        formula += margin(i)
        print("{:.1f}".format(formula))


elements = [1, 1, 1, 1]
calc(elements)  # 2.2 2.4 2.6 2.8

编写良好实践

  1. 不要将内置类型用作变量名称(list
  2. 使用函数的参数而非全局变量
  3. 在函数内使用默认值而不是硬编码数字以获得更通用的方法
  4. 不要创建不必要的变量(x函数内的margin
  5. 确保函数始终返回相同类型的变量或至少文档和处理特殊情况
  6. 注意在相同的变量上迭代两次(在calcmargin函数内迭代列表,因此列表中的第一个元素是唯一使用的元素。)