今天把第五章數學計算看完了,在開始下一章節之間先梳理一下
十進制用的庫吧,主要輸入靠decimal.Decimal()
來構造。 比較有意思的是這個可以通過tuple來構造浮點數
則對應的輸出為-0.11 tuple第一個位置是符號,0為正,1為負,中間的tuple是所有的位數上的數字,最后一位是10的指數 那么對應這個就是 -11*10*-2
靠getcontext().prec=i
來控制 至于書中的上下文,局部上下文,不想深究。要用再查。
關于fraction 印象不多,基于翻譯——分數的話也不外乎自動計算分數,或者找近似分數。
運算支持所有標準操作符。
如果你傳入一個浮點數,fraction會生成一個近似的分數 例如 f_pi=fractions.Fraction(str(math.pi))
然后提供一個limit_denominator可以控制分母 f_pi.limit_denominator(1)
則可以將分母控制為1 當然分母不會完全是括號內的數字,但會接近。
隨機數不多說
random.random()
生成的是0~1的數 random.uniform(a,b)
生成a~b的數
就是random.seed(a)
設置一下
這個不是很懂,粗略的看了下,應該是基于random.getstate()
獲取數據,然后用random.setstate()
來設置。如果以后要用,還是去看下官方文檔吧
random.randint(a,b)
random.randrange(a,b,step)
在a到b且滿足步長的數里面隨機選
random.choice()
random.shuffle()
random.sample()
示例給了一個模擬拋硬幣和模擬發牌的程序,蠻有意思的.
比如randomSystem的,要用再說吧,不過 這些庫確實很強大 比如可以模擬高斯分布,指數分布。泊松沒看到。
math庫有點多,不過應該都比較好理解 有意思的是modf()
這個函數 modif(1/2.0)
輸出為 (0.5,0.0)
前面小數部分,后面整數部分 后面開根,冪方,三角函數什么的就不寫了,反正我也沒怎么看。 可以開始看下一部分了……..
新聞熱點
疑難解答