如何在另一个公式中使用一个公式的结果?
How to use the result of one formula in another formula?
如何将一个函数的结果用于另一个函数。
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
'''
解决方案
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
编程良好实践
- 不要使用内置类型作为变量名(
list
)
- 使用函数参数而不是全局变量
- 在函数内部使用默认值而不是硬编码数字以获得更通用的方法
- 不要创建不必要的变量(
x
inside margin
函数)
- 确保函数始终returns相同类型的变量或至少记录并处理特殊情况
- 在相同变量上迭代两次时要小心(在
calc
和 margin
函数中,您正在迭代列表,因此列表中的第一个元素是唯一被使用的元素)。
如何将一个函数的结果用于另一个函数。
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
'''
解决方案
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
编程良好实践
- 不要使用内置类型作为变量名(
list
) - 使用函数参数而不是全局变量
- 在函数内部使用默认值而不是硬编码数字以获得更通用的方法
- 不要创建不必要的变量(
x
insidemargin
函数) - 确保函数始终returns相同类型的变量或至少记录并处理特殊情况
- 在相同变量上迭代两次时要小心(在
calc
和margin
函数中,您正在迭代列表,因此列表中的第一个元素是唯一被使用的元素)。