如何在循环中计算相互递归的表达式?

时间:2014-06-28 16:20:23

标签: python loops

我有两个表达方式:

  1. a = 3 * b + cc = 1

  2. b = (a - d) / 5d = 1

  3. 我必须在a中以1开头计算b = 1,然后(刚刚计算出a)我必须在b计算2 。 如果b中的1b中的2的减法为> 0,25 循环继续使用a中的1值再次计算b中的2,依此类推, 否则就会停止。

    它需要两次迭代,我想我必须使用while循环,但我无法将其写下来。 特别是我不知道如何将b中计算的2值作为第一步 以下迭代。

2 个答案:

答案 0 :(得分:2)

听起来你的意思是这个。某种迭代函数关闭一个值?

#!/usr/bin/env python3

c = 1
d = 1

b = 1
while True:
    a = 3 * b + c
    new_b = (a - d) / 5
    if b - new_b <= 0.25:
        break
    b = new_b

print(a, new_b)

答案 1 :(得分:0)

粗略地说:

b, c, d = [1]*3

while True:
    a=3*b + c     
    b= (a - d)/5
    if condition:
        break

您只需填写condition

即可