编写程序但无法连接它

时间:2013-03-02 06:46:45

标签: python-3.x

该程序在图形上取4个点并将它们放入拉格朗日多项式。我得到了正确输出的术语,但我需要将4个术语连接成1行代码。无论我在哪里尝试连接,它都会弄乱循环,从而弄乱我的条款。我确信有一种更简单的方法可以做到这一点,但我必须使用字符串和连接来完成我的任务。任何帮助,将不胜感激。感谢。

import string
from math import *

def main():
    n=4
    abscissa=[-5,-2,3,7]
    ordinate=[4,-6,8,1]

    for j in range(n):
        LP=str(ordinate[j])
        denom="1"
        for k in range(n):
            if k!=j:
                denom= denom+"*("+str(abscissa[j])+"-"+str(abscissa[k])+")"
                LP=LP+"*(x-"+str(abscissa[k])+")"
        LP=LP+'/'+denom
        print(LP)

main()

1 个答案:

答案 0 :(得分:1)

收集条款并加入条款:

import string
from math import *

def main():
    n=4
    abscissa=[-5,-2,3,7]
    ordinate=[4,-6,8,1]
    result = ''
    for j,y in enumerate(ordinate):
        if j!=0:
            result += '+'
        LP=str(y)
        denom="1"
        for k,x in enumerate(abscissa):
            if k!=j:
                denom += '*({}-{})'.format(abscissa[j],x)
                LP += '*(x-{})'.format(x)
        LP += '/' + denom
        result += LP
    print(result)
main()