我只是在学习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))
答案 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