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

2024-04-26 22:49:16 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将一个函数的结果转换成另一个函数。你知道吗

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 

我希望程序能计算:

'''
          2  + 0.2 = 2.2
         2.2 + 0.2 = 2.4
         2.4 + 0.2 = 2.6
         2.6 + 0.2 = 2.8
giving result 2.2 2.4 2.6 2.8
'''

Tags: 函数inmargin程序forreturnifdef
1条回答
网友
1楼 · 发布于 2024-04-26 22:49:16

解决方案

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. 不要创建不必要的变量(xmargin函数内)
  5. 确保函数总是返回相同类型的变量,或者至少返回文档并处理特殊情况
  6. 在相同的变量上迭代两次要小心(在calcmargin函数中您正在迭代列表,因此列表中的第一个元素是唯一被使用的元素)。你知道吗

相关问题 更多 >