""" Ex 6.11 from A primer on ... """ #Dictionary representation of polynomial #p = -3+2*x**3-x**5 p = {0: -3, 3: 2, 5: -1} def eval_poly_dict(poly, x): sum = 0.0 for power in poly: sum += poly[power]*x**power return sum #Evaluate p for x = 1 and x = 2 print(f'p(x=1) = {eval_poly_dict(p,1)}, p(x=2) = {eval_poly_dict(p,2)}') def diff(p): dp = {} for j in p: if j != 0: dp[j-1] = j*p[j] return dp print(p) print(diff(p)) """ Terminal> poly_diff.py p(x=1) = -2.0, p(x=2) = -19.0 {0: -3, 3: 2, 5: -1} {2: 6, 4: -5} """