横财富46333高手

python编程解方程第二弹:10行代码解二次方程(纯字符


更新时间:2020-12-01  浏览刺次数:


下面来看测试代码:

'x^2-2x+1=0'

'3x^2+14x+8=0'

在代码的4,5,6,7行,都用了Python的三目表达式功能让代码更加简短清晰。别注意第4行的三目表达式怎样同时给两个参数赋值。

这里,我们会看到利用python函数返回多值的贴心功能来直接返回二次方程的两个解。

'3x^2-10x-8=0'

二次方怎么表示呢?比如上面的^表示法,或者是python风格的**表示法,甚至是更简单的直接用x2表示x的二次方,香港挂牌正版资料全篇,都是可以的。对于我们求解来说,无论用哪种方法都没问题,在代码只需非常小的改动(后面将指出)。

这就是完整的解方程代码:

所谓编程,就用抽象的方法来解决问题:上面这些二次方程,高手稳杀一肖论坛,我们抽象为这样的格式:

注意,我们无须限定等号右边为0

在上篇文章的中代码,我们对于参数缺项没有充分考虑,在本篇的取参数的代码中,做了更多的判断,所以能够支持更多的殊情况。但仍然存在一个没有考虑到的地方,你能指出来么?

如果你不是x^2来表示x的二次方,只需在第三行对应位置修改即可。

用纯字符串格式来记录二次方程:

如果你看了前面的《用python编程7行代码解数学方程(ax+b=c的形式)》就知道我们思路仍然是先取参数,然后用数学的方法来求解。

ax^2+bx+c=d

'x^2=9'