我有一个包含多个变量的函数,但我一次只想为一个变量运行它。例如,仅适用于“exrate”。其思想是将“exrate”传递到函数中,然后仅for循环“exrate”并计算结果。不幸的是,“营业额”的价值没有改变。你知道吗
exrate = 100
sales = 0
def sim(var, min, max):
for var in range(min, max):
turnover = 1000 * (exrate/100) + sales
print(turnover)
sim(exrate, 100, 105)
sim(sales, 1000, 1100)
您使用的是定义中函数外部的变量。考虑在函数定义中用var替换exrate。你知道吗
让我们试着重构一下原始代码:
首先,我们可以计算出sim卡中使用的功能,即:
这个函数可以进一步简化
1000/100=10
:您正在使用globals
exrate=100, sales=0
,但这不是一个好主意,所以让我们通过使用默认参数来摆脱这些globals:现在,我们得到了一个数学函数,我们可以用它作为另一个函数的输入,它是一个只有一个职责的函数。你知道吗
假设我们想看看这个函数是如何相对于它的一个自变量
(exrate or sales)
演化的:或两者兼有:
主要的想法是,当模拟某个东西时,最好将代码分为执行模拟的代码(在图形中绘制函数,在控制台上打印值,…)和模拟本身的代码(在本例中,是形式为
f(x)=ax+b
的simple linear function)相关问题 更多 >
编程相关推荐