成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

實現(xiàn)一個【偽】四則運算封閉的符號運算和求解

bang590 / 2196人閱讀

摘要:最后實現(xiàn)的符號運算,符號與實數(shù)對四則運算封閉,符號與符號對加減封閉多么偷懶啊哈哈哈哈原諒我沒文化上,知道了的通過單元測試要實現(xiàn)方法。

最后的效果:

if __name__ == "__main__":
    import doctest
    doctest.testmod()
    x = Symbols("x")
    print(x * 2 + 1 == 8.0 * x + 6).solution

打?。?br>{"x": -0.8333333333333334}
這里用了8.0是因為眾所周知的Python2.7+,對于整數(shù)除法用的是整除,3/2=1什么的,Python3后來有用//這個操作符的,這里不是重點,不用管

昨天快下班的時候事情做完了,于是開始劃水,看到sympy是個符號運算的庫,我就在想要是讓我實現(xiàn)該有多難呢。。感覺真是非常適合新手/高中生的一個題目呢~

好吧,那么我們從四則運算封閉的符號系統(tǒng)做起~

下班后先寫了一點,然后吃飯的時候構(gòu)思了一下,寫完啦。今天又補了一點求解一元一次方程。。。

學(xué)到的是

數(shù)學(xué)方面,符號對四則運算封閉的話,需要額外的兩個參數(shù):1、系數(shù),2、次數(shù)。例如系數(shù)是2,次數(shù)是3。發(fā)現(xiàn)這個問題之后,果斷摒棄了次數(shù)。最后實現(xiàn)的符號運算,符號與實數(shù)對四則運算封閉,符號與符號對加減封閉(多么偷懶啊哈哈哈哈~原諒我沒文化)

Python上,知道了doctest的通過單元測試要實現(xiàn)__repr__方法。
不然在寫文檔測試時:

"""
>>> 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>

丟一個不知道能不能讓爬蟲爬到。關(guān)鍵詞:doctest class test

還有知道了a+1重載__add__方法,而1+a并不需要重載Int,直接重載a的__radd__就行了。。

多元一次方程的話。。想了想感覺還是挺啰嗦的,就算了。。。
加上次數(shù),感覺要涉及高數(shù)了。。。做起來好啰嗦。。
積分。。。阿西BUG,高數(shù)忘光了。如果我真的能有機會做的話

代碼:https://gist.github.com/zjjott/0eb6ff1947cd213dd70a

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/37737.html

相關(guān)文章

  • 用Python學(xué)數(shù)學(xué)之Sympy代數(shù)符號運算

    摘要:的符號運算如果之前是學(xué)數(shù)學(xué)相關(guān)專業(yè)了解計算機代數(shù)系統(tǒng),就會對數(shù)學(xué)符號的運算比較熟悉,而如果之前是程序員,可能會有點不太明白,下面我們就來了解一下。 在我們初、高中和大學(xué)近10年的學(xué)習(xí)時間里,數(shù)學(xué)一直占據(jù)著非常大的分量,但是回憶過去可以發(fā)現(xiàn),我們把大量的時間都花在反復(fù)解題、不斷運算上,計算方法、運算技巧、筆算能力以及數(shù)學(xué)公式的記憶仿佛成了我們學(xué)習(xí)數(shù)學(xué)的全部。這些記憶和技巧沒幾年就忘掉了,...

    Jackwoo 評論0 收藏0
  • SICP Python 描述 1.2 編程元素

    摘要:程序用于在編程社群的成員之間交流這些想法。在編程中,我們處理兩種元素函數(shù)和數(shù)據(jù)。在中,我們可以使用賦值語句來建立新的綁定,它包含左邊的名稱和右邊的值。例如,它并不能處理賦值語句。這些圖解的必要部分是函數(shù)的表示。 1.2 編程元素 來源:1.2 The Elements of Programming 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 編程語言是操作計算機來執(zhí)行任務(wù)...

    CoorChice 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<