def add(poly1, poly2):
try:
if len(poly1) and len(poly2) != 0:
"""Add two polynomials"""
result = [0] * max(len(poly1), len(poly2))
for i in range(len(result)):
if i < len(poly1):
result[i] += poly1[i]
if i < len(poly2):
result[i] += poly2[i]
return result
else:
return "Please Enter two list with valid elements"
except TypeError:
return 'Please Enter only numbers'
def split(poly1, poly2):
try:
if len(poly1) and len(poly2) != 0:
"""Split each polynomial into two smaller polynomials"""
mid = max(len(poly1), len(poly2)) // 2
return (poly1[:mid], poly1[mid:]), (poly2[:mid], poly2[mid:])
else:
return "Please Enter two list with valid elements"
except TypeError:
return 'Please Enter only numbers'
def increase_exponent(poly, n):
try:
if len(poly)!= 0:
"""Multiply poly1 by x^n"""
return [0] * n + poly
else:
return "Please Enter a list with valid elements"
except TypeError:
return 'Please Enter only numbers'
def multiply_optimized(poly1, poly2):
try:
if len(poly1) and len(poly2) != 0:
m = len(poly1)
n = len(poly2)
result = [0]*(m+n-1)
for i in range(m):
for j in range(n):
result[i+j] += poly1[i]*poly2[j]
return result
else:
return "Please Enter two list with valid elements"
except TypeError:
return 'Please Enter only numbers'
Help me out to get all test cases to be passed,friends
[Failed Test Cases- 9,10,20,21