>> 2/5 0 >>> 2.0/5 0.4 >>> 2/5.0 0.4 >>> 2.0/5.0 0.4 看到沒有?麻煩出來了,如果從小學數學知識除法,以上四個運算結果都應該是0.4。但我們看到的后三個符合," />

<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        跟老齊學Python之啰嗦的除法

        來源:懂視網 責編:小采 時間:2020-11-27 14:38:10
        文檔

        跟老齊學Python之啰嗦的除法

        跟老齊學Python之啰嗦的除法:除法啰嗦的,不僅是python。 整數除以整數 看官請在啟動idle之后,練習下面的運算: >>> 2/5 0 >>> 2.0/5 0.4 >>> 2/5.0 0.4 >>> 2.0/5.0 0.4 看到沒有?麻煩出來了,如果從小學數學知識除法,以上四個運算結果都應該是0.4。但我們看到的后三個符合,
        推薦度:
        導讀跟老齊學Python之啰嗦的除法:除法啰嗦的,不僅是python。 整數除以整數 看官請在啟動idle之后,練習下面的運算: >>> 2/5 0 >>> 2.0/5 0.4 >>> 2/5.0 0.4 >>> 2.0/5.0 0.4 看到沒有?麻煩出來了,如果從小學數學知識除法,以上四個運算結果都應該是0.4。但我們看到的后三個符合,

        除法啰嗦的,不僅是python。

        整數除以整數

        看官請在啟動idle之后,練習下面的運算:

        >>> 2/5
        0
        >>> 2.0/5
        0.4
        >>> 2/5.0
        0.4
        >>> 2.0/5.0
        0.4
        

        看到沒有?麻煩出來了,如果從小學數學知識除法,以上四個運算結果都應該是0.4。但我們看到的后三個符合,第一個居然結果是0。why?

        因為,在python里面有一個規定,像2/5中的除法這樣,是要取整。2除以5,商是0(整數),余數是2(整數)。那么如果用這種形式:2/5,計算結果就是商那個整數?;蛘呖梢岳斫鉃椋赫麛党哉麛?,結果是整數(商)。

        繼續實驗,驗證這個結論:

        >>> 5/2
        2
        >>> 6/3
        2
        >>> 5/2
        2
        >>> 6/2
        3
        >>> 7/2
        3
        >>> 8/2
        4
        >>> 9/2
        4
        

        注意:這里是得到整數商,而不是得到含有小數位的結果后“四舍五入”。例如5/2,得到的是商2,余數1,最終5/2=2。并不是對2.5進行四舍五入。

        浮點數與整數相除

        列為看官注意,這個標題和上面的標題格式不一樣,上面的標題是“整數除以整數”,如果按照風格一貫制的要求,本節標題應該是“浮點數除以整數”,但沒有,現在是“浮點數與整數相除”,這是因為包含了以下三種情況:

        被除數是浮點數,除數是整數
        被除數是整數,除數是浮點數
        被除數和除數都是浮點數
        出結論之前,還是先做實驗:

        >>> 9.0/2
        4.5
        >>> 9/2.0
        4.5
        >>> 9.0/2.0
        4.5
        >>> 8.0/2
        4.0
        >>> 8/2.0
        4.0
        >>> 8.0/2.0
        4.0
        

        歸納,得到規律:不管是被除數還是除數,只要有一個數是浮點數,結果就是浮點數。所以,如果相除的結果有余數,也不會像前面一樣了,而是要返回一個浮點數,這就跟在數學上學習的結果一樣了。

        >>> 10.0/3
        3.3333333333333335


        這個是不是就有點搞怪了,按照數學知識,應該是3.33333...,后面是3的循環了。那么你的計算機就停不下來了,滿屏都是3。為了避免這個,python武斷終結了循環,但是,可悲的是沒有按照“四舍五入”的原則終止。

        關于無限循環小數問題,小學都學習了,但是這可不是一個簡單問題,看看維基百科的詞條:0.999...,會不會有深入體會呢?

        總之,要用python,就得遵循她的規定,前面兩條規定已經明確了。

        補充一個資料,供有興趣的朋友閱讀:浮點數算法:爭議和限制
        說明:以上除法規則,是針對python2,在python3中,將5/2和5.0/2等同起來了。不過,如果要得到那個整數部分的上,可以用另外一種方式:地板除.

        >>> 9/2
        4
        >>> 9//2
        4
        

        python總會要提供多種解決問題的方案的,這是她的風格。

        開始用輪子

        python之所以受人歡迎,一個很重重要的原因,就是輪子多。這是比喻啦。就好比你要跑的快,怎么辦?光天天練習跑步是不行滴,要用輪子。找輛自行車,就快了很多。還嫌不夠快,再換電瓶車,再換汽車,再換高鐵...反正你可以選擇的很多。但是,這些讓你跑的快的東西,多數不是你自己造的,是別人造好了,你來用。甚至兩條腿也是感謝父母恩賜。正是因為輪子多,可以選擇的多,就可以以各種不同速度享受了。

        python就是這樣,有各種各樣別人造好的輪子,我們只需要用。只不過那些輪子在python里面的名字不叫自行車、汽車,叫做“模塊”,有人承接別的語言的名稱,叫做“類庫”、“類”。不管叫什么名字把。就是別人造好的東西我們拿過來使用。

        怎么用?可以通過兩種形式用:

        形式1:import module-name。import后面跟空格,然后是模塊名稱,例如:import os
        形式2:from module1 import module11。module1是一個大模塊,里面還有子模塊module11,只想用module11,就這么寫了。比如下面的例子:
        不啰嗦了,實驗一個:

        >>> from __future__ import division
        >>> 5/2
        2.5
        >>> 9/2
        4.5
        >>> 9.0/2
        4.5
        >>> 9/2.0
        4.5
        

        注意了,引用了一個模塊之后,再做除法,就不管什么情況,都是得到浮點數的結果了。

        這就是輪子的力量。

        關于余數

        前面計算5/2的時候,商是2,余數是1

        余數怎么得到?

        實驗下面的操作:

        >>> 5%2
        1
        >>> 9%2
        1
        >>> 7%3
        1
        >>> 6%4
        2
        >>> 5.0%2
        1.0
        

        符號:%,就是要得到兩個數(可以是整數,也可以是浮點數)相除的余數。

        前面說python有很多人見人愛的輪子(模塊),她還有豐富的內建函數,也會幫我們做不少事情。例如函數divmod()

        >>> divmod(5,2) #表示5除以2,返回了商和余數
        (2, 1)
        >>> divmod(9,2)
        (4, 1)
        >>> divmod(5.0,2)
        (2.0, 1.0)
        

        四舍五入

        最后一個了,一定要堅持,今天的確有點啰嗦了。要實現四舍五入,很簡單,就是內建函數:round()

        動手試試:

        >>> round(1.234567,2)
        1.23
        >>> round(1.234567,3)
        1.235
        >>> round(10.0/3,4)
        3.3333
        

        簡單吧。越簡單的時候,越要小心,當你遇到下面的情況,就有點懷疑了:

        >>> round(1.2345,3)
        1.234 #應該是:1.235
        >>> round(2.235,2)
        2.23 #應該是:2.24
        

        哈哈,我發現了python的一個bug,太激動了。

        別那么激動,如果真的是bug,這么明顯,是輪不到我的。為什么?具體解釋看這里,下面摘錄官方文檔中的一段話:

        Note:
        The behavior of round() for floats can be surprising: for example, round(2.675, 2) gives 2.67 instead of the expected 2.68. This is not a bug: it's a result of the fact that most decimal fractions can't be represented exactly as a float. See Floating Point Arithmetic: Issues and Limitations for more information.
        

        原來真的輪不到我。(垂頭喪氣狀。)

        似乎除法的問題到此要結束了,其實遠遠沒有,不過,做為初學者,至此即可。還留下了很多話題,比如如何處理循環小數問題,我肯定不會讓有探索精神的朋友失望的,在我的github中有這樣一個輪子,如果要深入研究,可以來這里嘗試。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        跟老齊學Python之啰嗦的除法

        跟老齊學Python之啰嗦的除法:除法啰嗦的,不僅是python。 整數除以整數 看官請在啟動idle之后,練習下面的運算: >>> 2/5 0 >>> 2.0/5 0.4 >>> 2/5.0 0.4 >>> 2.0/5.0 0.4 看到沒有?麻煩出來了,如果從小學數學知識除法,以上四個運算結果都應該是0.4。但我們看到的后三個符合,
        推薦度:
        標簽: 除法 python 整除
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 老司机亚洲精品影院| 亚洲精品国产成人专区| 亚洲色无码专区一区| 99ee6热久久免费精品6| 亚洲国产成人一区二区精品区| a毛片免费观看完整| 亚洲精品~无码抽插| 日韩免费视频一区二区| 亚洲午夜未满十八勿入| 欧洲人免费视频网站在线| 老司机亚洲精品影院无码| 美女视频黄的全免费视频网站| 在线综合亚洲中文精品| 成年美女黄网站18禁免费| 亚洲熟妇丰满xxxxx| 国产男女猛烈无遮挡免费视频 | 亚洲精品欧洲精品| 国产精品久久免费| 亚洲人片在线观看天堂无码| 宅男666在线永久免费观看| 青娱乐在线视频免费观看| 亚洲精品中文字幕乱码三区| 无码人妻一区二区三区免费n鬼沢| 国产精品亚洲天堂| gogo全球高清大胆亚洲| 99视频在线观看免费| 精品亚洲A∨无码一区二区三区| 拍拍拍又黄又爽无挡视频免费| 免费又黄又爽又猛大片午夜| 亚洲AV无码久久寂寞少妇| 毛片高清视频在线看免费观看| 国产亚洲漂亮白嫩美女在线| 国产亚洲精品一品区99热| 国产免费AV片在线播放唯爱网| 日韩亚洲翔田千里在线| 亚洲va久久久噜噜噜久久狠狠| 亚洲人成电影网站免费| 丁香六月婷婷精品免费观看| 亚洲网站在线免费观看| 国产一区二区三区免费看| 日韩免费人妻AV无码专区蜜桃 |