**根据Marcus.Aurelianus
的回答,我修改了问题并执行了以下代码
def Bigfunction(G,T):
return list(map(lambda x,y:10**-3*x*(1 + (y-25)),G,T)),list(map(lambda x,y:(x/1000)*(1 + (y-25)),G,T)), list(map(lambda x:(x/800),G))
G = list(range(100,1100,100))
T = list(range(25,40,10))
Iph_cal, Isc_cal, Tcel_cal = Bigfunction(G,T)
print(Iph_cal, Isc_cal, Tcel_cal)
**输出为:
[0.07000999999999999, 0.14464065999999998] [0.06999999999999999, 0.14461999999999997] [28.5, 32.0, 35.5, 39.0, 42.5, 46.0, 49.5, 53.0, 56.5, 60.0]
**在输出中:第一个和第二个列表只给出了两个元素。其中第三个列表给出了10个元素,这是正确的。为什么第一个和第二个列表不产生10个元素。你知道吗
使用lambda和map函数。你知道吗
您试图返回多个值,但没有使用正确的语法。试试这个:
我认为最好像前面那样为计算定义3个单独的函数。不过,我会根据他们的工作给他们起更具描述性的名字。这样,您就可以根据需要组合它们,甚至可以从其他模块调用它们。你知道吗
例如:
PS:我假设作为T值传递的
25
就是一个例子。在shortcuit_current()
中完成计算后,它将始终返回0相关问题 更多 >
编程相关推荐