Python 3.x 程序已编写,但无法连接
这个程序在一张图上取4个点,并将它们转换成拉格朗日多项式。我得到了要正确输出的术语,但我需要将4个术语连接成一行代码。无论我在哪里尝试连接,它总是弄乱循环,从而弄乱我的术语。我相信有一种更简单的方法可以做到这一点,但我必须使用字符串和串联来完成我的赋值。任何帮助都将不胜感激。谢谢Python 3.x 程序已编写,但无法连接,python-3.x,Python 3.x,这个程序在一张图上取4个点,并将它们转换成拉格朗日多项式。我得到了要正确输出的术语,但我需要将4个术语连接成一行代码。无论我在哪里尝试连接,它总是弄乱循环,从而弄乱我的术语。我相信有一种更简单的方法可以做到这一点,但我必须使用字符串和串联来完成我的赋值。任何帮助都将不胜感激。谢谢 import string from math import * def main(): n=4 abscissa=[-5,-2,3,7] ordinate=[4,-6,8,1] f
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()
收集术语并加入它们:
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()
期望的输出是什么?4*(x--2)*(x-3)*(x-7)/1*(-5--2)*(-5-3)*(-5-7)+-6*(x--5)*(x-3)*(x-7)/1*(-2--5)*(-2-7)+8*(x--5)*(x--2)*(x--7)/1*(3--2)*(x--5)*(x--2)*(x--3)/1*(x--5)*(x--5)*(x--2)*(x--3)/1*(7--3)我在4行代码上有不同的项,但我需要将它们完美地串联在一起!不幸的是,我认为它不适用于这个赋值,因为它是一类初级python程序员(我们甚至没有讨论过格式、结果和连接函数),并且赋值要求使用连接字符串。好的,删除了连接并进行了更多的连接。