Как продолжить ваш код после оператора if else без прерывания? - PullRequest
0 голосов
/ 15 июня 2019

Я аппроксимирую ошибку для числового математического метода, но после того, как я написал свое утверждение if else, кажется, что код бесконечно продолжается в этом утверждении, если я не нарушу его.но я хочу продолжить моделирование, используя код ниже, чтобы закончить вторую часть приближения.какие-либо предложения?

while True:
        m1 = h*func1(t,v, Hs)
        k1 = h*func2(t,v, Hs)

        m2 = h*func1(t+(h/2),v+(m1/2), Hs + (k1/2))
        k2= h*func2(t+(h/2),v+(m1/2), Hs +(k1/2))

        m3 = h*func1(t+(h/2),v+(m2/2),Hs+(k2/2))
        k3= h*func2(t+(h/2),v+(m2/2),Hs+(k2/2))

        m4 = h*func1(t+h,v+m3,Hs+k3)
        k4= h*func2(t+h,v+m3,Hs+k3)

        v= v +(1/6)*(m1+(2*m2)+(2*m3)+m4)
        Hs=Hs + (1/6)*(k1+(2*k2)+(2*k3)+k4)
        t= t+h
        if Hs > 11: 
            f = f +0.0001
            Hs=Hr*d/(L*f+d)
            v = math.sqrt(2*g*Hr*d/(L*f+d))
            t = 0

        else: 
        break


while (t2 <= 10):
    m12 = z*func1(t2,v2,Hs2)
    k12 = z*func2(t2,v2,Hs2)

    m22 = z*func1(t2+(z/2),v2+(m12/2), Hs2 + (k12/2))
    k22= z*func2(t2+(z/2),v2+(m12/2), Hs2 +(k12/2))

    m32 = z*func1(t2+(z/2),v2+(m22/2),Hs2+(k22/2))
    k32= z*func2(t2+(z/2),v2+(m22/2),Hs2+(k22/2))

    m42 = z*func1(t2+z,v2+m32,Hs2+k32)
    k42= z*func2(t2+z,v2+m32,Hs2+k32)

    v2= v2 +(1/6)*(m12+(2*m22)+(2*m32)+m42)
    Hs2=Hs2 + (1/6)*(k12+(2*k22)+(2*k32)+k42)
    t2 =t2+z


    if t2 == 10:break

после того, как Hs достигнет <11 для определенного f, программа продолжится, пока не станет бесконечно большой.Но после того, как t достигло значения 75, я хочу, чтобы код продолжал цикл while, написанный под ним. </p>

1 Ответ

0 голосов
/ 15 июня 2019

В питоне есть оператор continue.Например:

>>> for i in range(10):
>>>     if i == 3:
>>>         continue
>>>     print(i)

0
1
2
4
5
6
7
8
9

Как видите, отсутствует 3, потому что оператор continue продолжался, когда i был 3.

Это не остановилоцикл, он просто продолжился с 4.

Я думаю, что это может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...