ax 5 + bx 4 + cx 3 + dx 2 + ex + f.
Напиши программу, которая принимает натуральное число n, а затем n + 1 целых чисел — коэффициенты (a, b, c и так далее). Выведи многочлен.
При этом:
• Не печатай 1 перед одночленами с x.
• Ставь знак «-» вместо -1 перед одночленами с x.
• Пропускай произведения на 0.
Пиши коэффициенты с числами слитно, а знаки арифметических операций — через пробел.
Если все коэффициенты равны 0, ответом будет пустая строка.
Мой код:
n = int(input().strip())
coefs = [int(input().strip()) for i in range(n + 1)]
result = []
for i in range(n, -1, -1):
if coefs[n - i] == 0:
continue
if i == n:
result.append(f"{coefs[n - i]}x ** {i}")
elif i == 1:
if coefs[n - i] > 0:
result.append(f" + {coefs[n - i]}x")
else:
result.append(f" - {-coefs[n - i]}x")
elif i == 0:
if coefs[n - i] > 0:
result.append(f" + {coefs[n - i]}")
else:
result.append(f" - {-coefs[n - i]}")
else:
if coefs[n - i] > 0:
result.append(f" + {coefs[n - i]}x ** {i}")
else:
result.append(f" - {-coefs[n - i]}x ** {i}")
if result:
print("".join(result))
else:
print("")
Ввод: 5
-7
-1
-5
0
-3
-1
Мой вывод:
-7x ** 5 - 1x ** 4 - 5x ** 3 - 3x - 1
Правильный вывод:
-7x ** 5 - x ** 4 - 5x ** 3 - 3x - 1
А должен: - x ** 3
Из-за этого выдаёт ошибку