def evaluate(f,m): res=0 for term in f.terms(): product=1 for variable in term.variables(): product=m[variable]*product res=res+product return Polynomial(res)