带有迭代过程的python中的条件语句

时间:2017-12-20 21:52:20

标签: python python-2.7

我在各种情况下模拟材料的温度。我想制作温度与时间的关系图,其中所有温度在一定温度后再下降5度,然后观察到温度变化的速率。最初我有以下内容:

for i in range(1,len(t)):
    te[i] = te[i-1] + f(te[i-1])*dt    

用于绘制随时间(t)递减的曲线。我想现在制作两个部分。我的情节的x值是t。 y值是Te。在Te小于80的时间之后,我想将所有Te值减少额外的5。我通常使用IDL,所以会在T行(t = 80)中说出一些内容。这是我到目前为止,显然语法完全不正确,i值是索引而不是时间值。

t80 = t where Te <= 80.0

for i in range(1,t80):
    te[i] = te[i-1] + f(te[i-1])*dt 

for i in range(t80,len(t)):
    te3[i] = te3[i-1] + f(te3[i-1])*dt - 5

有谁知道如何在python中定义t80?

1 个答案:

答案 0 :(得分:1)

据我所知,当温度降至80度以下时,温度将一次减少5度。如果这是正确的,您只需在if循环中添加for条件:

cooling_liquid_poured = False
for i in range(1,len(t)):
    te[i] = te[i-1] + f(te[i-1])*dt 
    if te[i] < 80 and not cooling_liquid_poured:
        te[i] -= 5
        cooling_liquid_poured = True

如果相反,在液体倒出后,每个步骤的温度应再下降5度,只需删除该变量,然后检查if te[i] < 80