我正在尝试用Python编写一个计算四阶多项式的基本算法。代码在下面,我不确定我做错了什么。我想出了这个代码,我不确定它是否足够做这个把戏:
x = int(raw_input(":"))
def eval_poly(x):
if abs(x) > 0:
return 35x**4-17x**3+5x**2+41x-29
print eval_poly(x)
我得到的错误是35x**4
是无效语法,我尝试计算的多项式如下:
35x^4 - 17x^3 + 5x^2 + 41x -29
Tags:
尽管我们在数学中编写(35x)来隐含地表示(35*x),但Python解释器无法解决这个问题。你需要明确地告诉它
35 * (x ** 4)
。你知道吗所以你修改了函数来包含
(括号不是绝对必要的,因为没有括号Python将获得正确的操作顺序,但我认为它们有助于可读性。)
值得一提的是:当Python尝试计算表达式
35x
时会抛出错误,但它不知道如何解释这个错误。它以数字开头,因此不是变量(variables have to start with a non-digit character),而是包含字母字符,因此不是数字。这不仅仅是因为它不知道这个表达式的含义,而且35x
是Python无法解析的。你知道吗你留下了乘法:
相关问题 更多 >
编程相关推荐