※現在、ブログ記事を移行中のため一部表示が崩れる場合がございます。
順次修正対応にあたっておりますので何卒ご了承いただけますよう、お願い致します。
import math
from sympy import *
def list_to_frac(A,B):
expr = 0
zip(A[1:],B)
for (a,b) in reversed(list(zip(A[1:],B))):
expr = b/(a+expr)
return A[0]+expr
In [22]: symsa = symbols('a0:5')
In [23]: symsa
Out[23]: (a0, a1, a2, a3, a4)
In [24]: symsb = symbols('b1:5')
In [25]: symsb
Out[25]: (b1, b2, b3, b4)
In [26]: f = list_to_frac(symsa,symsb)
In [27]: f
Out[27]: a0 + b1/(a1 + b2/(a2 + b3/(a3 + b4/a4)))
symbols()を使うことで、まとめて数列の添字付変数を作っている。