用python 解齐次方程组(python编程解方程第二弹)
用纯字符串格式来记录二次方程:
- '3x^2-10x-8=0'
- 'x^2-2x 1=0'
- '3x^2 14x 8=0'
- 'x^2=9'
二次方怎么表示呢?比如上面的^表示法,或者是Python风格的**表示法,甚至是更简单的直接用x2表示x的二次方,都是可以的。对于我们求解来说,无论用哪种方法都没问题,在代码只需非常小的改动(后面将指出)。
所谓编程,就用抽象的方法来解决问题:上面这些二次方程,我们抽象为这样的格式:
ax^2 bx c=d
注意,我们无须限定等号右边为0
如果你看了前面的《用python编程7行代码解数学方程(ax b=c的形式)》就知道我们思路仍然是先取参数,然后用数学的方法来求解。
这里,我们会看到利用python函数返回多值的贴心功能来直接返回二次方程的两个解。
这就是完整的解方程代码:
如果你不是x^2来表示x的二次方,只需在第三行对应位置修改即可。
在代码的4,5,6,7行,都用了Python的三目表达式功能让代码更加简短清晰。特别注意第4行的三目表达式怎样同时给两个参数赋值。
下面来看测试代码:
在上篇文章的中代码,我们对于参数缺项没有充分考虑,在本篇的取参数的代码中,做了更多的判断,所以能够支持更多的特殊情况。但仍然存在一个没有考虑到的地方,你能指出来么?
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com