最后的效果:
if __name__ == '__main__':
import doctest
doctest.testmod()
x = Symbols("x")
print(x * 2 + 1 == 8.0 * x + 6).solution
打印: {'x': -0.8333333333333334} 这里用了8.0是因为众所周知的Python2.7+,对于整数除法用的是整除,3/2=1什么的,Python3后来有用//这个操作符的,这里不是重点,不用管
昨天快下班的时候事情做完了,于是开始划水,看到sympy是个符号运算的库,我就在想要是让我实现该有多难呢。。感觉真是非常适合新手/高中生的一个题目呢~
好吧,那么我们从四则运算封闭的符号系统做起~
下班后先写了一点,然后吃饭的时候构思了一下,写完啦。今天又补了一点求解一元一次方程。。。
学到的是
"""
>>> Symbols("x",2) / 4.0
Symbols("x",0.5)
"""
会报如下错误
Failed example:
Symbols("x",2) / 4.0
Expected:
Symbols("x",0.5)
Got:
<__main__.Symbols object at 0x10d5718d0>
丢一个不知道能不能让爬虫爬到。关键词:doctest class test
多元一次方程的话。。想了想感觉还是挺啰嗦的,就算了。。。 加上次数,感觉要涉及高数了。。。做起来好啰嗦。。 积分。。。阿西BUG,高数忘光了。如果我真的能有机会做的话