我对python中函数和切换器的使用有一个问题: 我有这个生产成本函数:
def fcostoproduccion (X,periodo):
if X > 0:
switcher = {
1: 200 + 15 * X,
2: 100 + 20 * X,
3: 100 + 4 * (X ** (1 / 2)),
4: 100 + 3 * X,
5: 150 + 6 * X,
6: 200 + 12 * (X ** (1 / 2)),
7: 200 + 15 * X,
8: 100 + 10 * X,
9: 100 + 6 * (X ** (1 / 2)),
10: 200 + 5 * (X ** (1 / 2)),
11: 100 + 10 * X,
12: 150 + 6 * X
}
return
最后,我试图寻找价值:
for l in range(j+1, k+1):
Ordenar = O[l]
Produccion = fcostoproduccion(Demanda, l)
我知道我犯了个错误,但不知道怎么解决。 提前谢谢
函数
fcostoproduccion
有几点:None
periodo
是不受支持的)李>很难看出你的意图与功能,但我猜
X
计算一个值X
的不同值而异,因此字典switcher
李>基于上述假设,您可以修改函数
fcostoproduccion
,如下所示:如果我理解正确,你需要一个好的旧开关箱的行为。不幸的是,python中没有内置的switch case。首选的方法是使用字典。因此,你真的很接近。尝试替换您的返回语句:
请注意,您只希望在
X > 1
时返回它。因此,请确保缩进return
语句,并根据需要处理else
大小写注意,在这种情况下,你的第二个论点似乎毫无用处。因此,您可能需要删除
periodo
相关问题 更多 >
编程相关推荐