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