输入为n时,多项式输出形式为“x^n+an1*x+a0”

2024-03-29 09:36:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图以x^2 + a1*x + a0的形式创建一个多项式,如果输入数是2,ο,如果输入数是3,等等。我的代码只显示x^n + an-1*x + a0的输出,而不管给定的数字如何

代码如下:

def funct(num):
    for i in range(1,num):
         print(f"x^{num}+a{num-1}*x+a0")

    number = int(input("give me number"))
    funct(number)

有什么建议吗


1条回答
网友
1楼 · 发布于 2024-03-29 09:36:51

这将满足您的要求:

def funct(num):
    str0 = "a0"
    str1 = "a1x + a0"
    if num == 0:
      print(str0)
    elif num == 1:
      print(str1)
    else:
      str = str1
      for i in range(2,num):
        str = f"a{i}x^{i} + " + str
      print(f"x^{num} + " + str)

对于num=0,只需返回常量项a0

对于num=1,您有一个线性表达式,它不需要显示为x^1,因此我们可以简单地将其写为“a1x+a0”

对于num=2,我们将其拆分如下:

  • 幂=n的项应该有系数1,所以我们把它分开
  • 最小的两个术语将只是“a1x+a0”,因此我们只需重用num=1情况下的术语
  • 对于这两者之间的所有术语,我们循环遍历从2到num-1的其他术语,并将它们放入所需的格式中
  • 最后,我们将所有这些字符串放在一起,以获得所需格式的输出

注意,这段代码假设我们只处理正整数。您将需要根据您的需求对其他输入进行处理

相关问题 更多 >