使用一系列数字打印功能的结果

时间:2019-05-18 23:46:43

标签: python matplotlib

我只是在学习python,我只是想尝试使用一系列数字来打印函数的结果,但是却收到错误消息“具有多个元素的数组的真值不明确。” / p>

print(t1)可以显示我要在计算中使用的范围。

print(some_function(55,t1))产生错误

我想念什么?

请注意,我这样做是为了帮助某人完成某项任务,他们只能使用已显示的命令或功能,这并不是很多,基本上只是当前代码和数组中的内容。

感谢您的帮助

from pylab import *

def some_function(ff, dd):
    if dd >=0 and dd <=300:
        tt = (22/-90)*ff+24
    elif dd >=300 and dd <=1000:
        st = (22/-90)*(ff)+24
        gg = (st-2)/-800
        tt = gg*dd+(gg*-1000+2)
    else:
        tt = 2.0
    return tt

t1=arange(0,12000,1000)

print(t1)

print(some_function(55,t1))

1 个答案:

答案 0 :(得分:1)

您只犯了一个小错误。

t1=arange(0,12000,1000)

print(t1)
[    0  1000  2000  3000  4000  5000  6000  7000  8000  9000 10000 11000]

您必须遍历t1并为循环中的每个值调用函数。

for x in t1: 
    print(some_function(55,x))

10.555555555555555
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0

由于t1中的值,我们在计算中缺少循环的一部分。让我们稍微调整一下范围。

t1=arange(0,2000,100)

print(t1)

[   0  100  200  300  400  500  600  700  800  900 1000 1100 1200 1300
 1400 1500 1600 1700 1800 1900]

和结果函数:

for x in t1: 
    print(some_function(55,x))

10.555555555555555
10.555555555555555
10.555555555555555
10.555555555555555
8.416666666666668
7.347222222222222
6.277777777777779
5.208333333333334
4.138888888888889
3.0694444444444446
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0