<wbr id="juant"></wbr>
  • <wbr id="juant"></wbr>
    更多課程 選擇中心


    Python培訓

    400-111-8989

    如何用Python做些基本的數學運算

    • 發布:Rambo
    • 來源:Python之父
    • 時間:2018-02-09 16:40

             每個游戲都有某種需要累計的分數;在屏幕上繪制圖形時必須使用數字來確定圖形的位置和顏色;移動的物體會有方向和速度,這都要用數字來描述。所有有意思的程序幾乎都會以某種方式使用數字和數學。所以下面就來學習Pyhton中有關數學和數字的一些基礎知識。

    四大基本運算

            在第1篇中我們已經看到Python可以做一些數學運算:使用加號(+)完成加法,另外使用星號(*)完成乘法。

            如你所料,Python使用連字號(-)(也稱為減號)來做減法:

            由于計算機鍵盤上沒有除號(÷),所以所有程序都使用前斜杠(/)表示除法。

            不過有時Python做除法時會得到意外的結果:

            所有人都知道

    3 / 2 = 1.5

            這到底是怎么回事?

            我先給你解釋下這幾個術語

    • 整數(integer)就是我們平常數數時所說的數,如1、2、3等,另外還包括0和負數,如-1、-2、-3等。

    • 小數(decimal number)也稱為實數(real number),這些數有小數點而且后面有小數位,如1.25、0.3752和-101.2。

    • 在計算機編程中,小數也稱為浮點數(floating-point number,有時簡寫為floats,或者如果只有一個浮點數,就簡寫float)。這是因為小數點會“浮動”。如0.00123456或12345.6都是浮點數。

            現在我們來看看剛剛那個例子。

            因為你輸入的3和2都是整數,所以Pyhton認為你同樣想要整數作為答案。它會把答案1.5取整為最接近的整數,也就是1。換句話說,Python完成了不帶余數的除法。

            要解決這個問題,可以這樣試試看:

            這樣就好多了!如果把兩個數中的任何一個作為小數輸入,Python就會知道你想在答案中保留小部分。

            要記住Python的這種整除行為。因為bug或者錯誤就是經由這樣一些途徑悄悄出現在你的代碼中的。

    操作符

            + 、 - 、 *  和  /  符號都稱為操作符。這是因為它們會“操作”或處理放在符號兩邊的數字。

            =號也是一個操作符,這稱為賦值操作符(assignment operator),因為我們用它為一個變量賦值。

            我們再來看看,如果把3乘5次,可以寫成:

            如果我們要是把3乘100次呢?

            要我們寫出100次乘法,這很浪費時間。

            其實,Python用了一個雙星號(**)來表示指數或者將一個數自乘為一個冪。你可以這樣寫出剛剛上述的例子:

            這樣鍵入是不是更容易一些呢!不過用了一個雙星號(**)來表示指數,更重要的原因是,可以用來作非整數的指數運算,如下:

            而要想利用乘法來做到這一點可不容易。

            我們再來看一個除法例子,如果兩個數不能整除,最后會得到一個余數(remainder):

    7 / 2 = 3 ,余數是1

            7 / 2的答案中有一個商(quotient),在這里就是3,還有一個余數1。如果在Python中將兩個整數相除,它會給你商。不過余數呢?

            Python有一個特殊的操作符來計算整數相除的余數。這稱為取余操作符,這個符號是百分號(%)。可以像這樣使用:

            所以如果同時使用 / 和 %,就可以得到整數相除的完整答案:

            可以看到,7除以2得3,余數是1。如果做浮點數除法,會得到小數答案:

            以上算術操作符加(+)、減(-)、乘(*)、除(/)、指數(求冪)(**)和取余(%),在程序中需要的99%的操作符就是六個操作符。

    自增和自減

            操作符:+=(自增)和 -=(自減),在編程中經常出現。我們可以將它們認為是一個賦值運算的簡寫方式,如:

    score = score + 1

            我們可以簡寫成:

    score += 1

            舉例說明一下:

            或者

            其中第一個例子將number增1(這會從7變成8)。第二個例子將number減去1(從7變成6)。

    E記法

            我們來試試在IDLE中寫下以下兩個數字:

    27000000000000000000000

            和

    0.000000000000000000032

            看到這么多0,數不數得對還是個問題。

            不過,在Python中,我們是可以用E記法來寫的。如上兩個數字,我們可以寫成:

    2.7E22或2.7e22

    3.2E-20或3.2e-20

            這就是E記法,和我們學習的數學一樣。

            但是,我們不要把指數求冪(**)與E記法(E或e)弄混了。

            3**5 表示 3 * 3 * 3 * 3 * 3,等于243。

            3e5 表示 3 * 10 * 10 * 10 * 10 * 10,等于30000.0。

            我們可以看到E記法是個浮點數

    運算順序

            下面哪一個正確?

    2 + 3 * 4 = 20

            還是

    2 + 3 * 4 = 14

            這要看你采用什么順序來計算。如果先做加法,會得到

    2 + 3 = 5

            然后得到

    5 * 4 = 20

            如果先做乘法,就會得到

    3 * 4 = 12

            然后是

    2 + 12 = 14

            第二個順序是正確的,所以正確答案是14。

            在數學中有一種運算順序(order of operation),指定了先計算哪些操作符,后計算哪些操作符,而不管它們的書寫順序如何。

            在我們的這個例子中盡管 + 號在 * 號前面,但是應當先算乘法。Python會遵循正確的數學規則,所以它會先做乘法再做加法。可以在交互模式中試試看能不能得到這個結果:

            可以看到,Python使用的順序與你在數學課上學到的規則完全相同。指數運算最優先,然后是乘法,再后面是加減運算。

            如果想先算2+3該怎么辦呢?

            我們只需要在它兩邊加上括號(()),比如:

            這一次,Python會先做2+3(因為有括號),可以得到5,然后再做乘法5*4,得到20。

            再強調一次,Python的運算順序與數學課上講的是一樣的。

    END


    回顧

    • 用Python如何完成基本數學運算。

    • 整數和浮點數。

    • 求冪(**)。

    • 如何計算取余(余數)。

    • E記法。

    測試題

    1. Python中乘法使用哪個符號?

    2. Python計算8/3的答案是什么?

    3. 怎么得到8/3的余數?

    4. 怎么得到8/3的小數結果?

    5. Python中計算6*6*6*6的另一種做法是什么?

    6. 采用E記法,17 000 000要寫作什么?

    7. 4.56e-5如果按常規的寫法是什么(不是E記法)?

    動手試一試

    1. 使用交互模式或者編寫一個小程序解決下面的問題。

      (a)3個人在餐廳吃飯,想分攤飯費。總共花費35.27美元,他們還想留15美分的小費。每個人該怎么付錢?

      (b)計算一個12.5mX16.7m的矩形房間的面積和周長。

    2. 寫一個程序,把溫度從華氏度轉換為攝氏度。轉換公式是C=5/9*(F-32)。(提示:當心整除問題)

    3. 你知道怎么計算坐車去某個地方需要花多長時間嗎?相應的公式(用文字表述)是“旅行時間等于距離除以速度”。編寫一個程序,計算以80km/h的速度行駛200km需要花多長時間,并顯示答案。

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:在linux系統中搭建Python環境
    下一篇:教你用python群發微信新年祝福

    2021年Python面試題及答案匯總詳解

    python數據分析,你需要這些工具

    Python培訓講解二叉樹的三種深度

    Python培訓:如何實現窮舉搜索?

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    天天日天天射天天干天天伊|奇米电影|奇米网_奇米首页|奇米首页 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>