Я пытаюсь ответить на проблему с книгой, заданную моим учителем, и мне сложно найти способ вычесть предыдущий результат из следующего. Проблема запрашивает цикл результатов, пока предыдущий результат, вычтенный из следующего результата, не будет иметь допуск 1e-10.
Уравнение:
H + = sqrt (Ka * (c - n))
, в которой Ka = 1,78e-5
с = 0,01
n = начинается с нуля
Итерации продолжаются до тех пор, пока H + не изменится менее чем на некоторое заранее определенное малое значение допуска, в данном случае TOL = 1e-10.
Я посмотрел некоторые вопросы, основанные на таких вещах, здесь, так как я очень плохо знаком с программированием на Python (меньше месяца работал с ним), но я не нашел ничего полезного для этого, так как в большинстве из них вы получаете столбец, а затем вычитаете результаты из этого, как этот ( Как вычесть результат из предыдущего ряда? ), но я не могу этого сделать.
n = 0
Ka = 1.78e-5
c = 0.01
q = Ka * (c - n)
H = q ** 0.5
H1 = q ** 0.5
while n < 10:
print(H)
if (H1 - H == 1e-10):
break
Это то, что мне удалось сделать, но это заставляет меня давать бесконечные результаты, потому что я не знаю, как вычесть предыдущий результат из следующего. Может кто-нибудь, пожалуйста, пролить немного света на это?