Вы не создаете список на всех и нарезка неправильно:
new_poly = [] # now it's a list
for item in poly[1:]: # poly[1:] not poly(1:)
Ваш синтаксис полностью недействительным, вкладки и пространства не является причиной этого. Вы также не можете добавлять к кортежу, добавляете к списку.
Я хотел бы также использовать перечисление, чтобы получить индексы, если вы не хотите, только первый индекса для повторяющихся элементов:
def compute_deriv(poly):
new_poly = []
for ind , item in enumerate(poly[1:],1):
new_poly.append(ind*item)
return new_poly
Если вы хотите кортеж, то вы должны знать, кортежи не имеют Append и они непреложного поэтому вам нужно будет создать новый кортеж на каждой итерации или просто использовать список и вернуть tuple(new_poly)
.
Вы также пройти не sliceable объекта при вызове функции, вместо того, чтобы вы пройти 5 арг на функцию, которая принимает 1.
Если вы действительно хотите кортеж просто использовать аехр поколения и вызвать кортеж в нем:
def compute_deriv(poly):
return tuple(ind*item for ind, item in enumerate(poly[1:]))
Вызов его прохождения кортежа пунктов:
print(compute_deriv((-13.89,0.0,17.5,3.0,1.0)))
Выход:
(0.0, 17.5, 6.0, 3.0)
что это * первое сообщение об ошибке? –
view-> show symbol-> show whitespace и TAB –