python的基本數學運算


For I am not ashamed of the gospel; it is the power of God for salvation to everyone who has faith, to the Jew first and also to the Greek. For in it the righteousness of God is revealed through faith for faith; s it is written,"The one who is righteous will live by faith"

用Python計算

一提到計算機,當然現在更多人把她叫做電腦,這兩個詞都是指computer。不管什么,只要提到她,普遍都會想到她能夠比較快地做加減乘除,甚至乘方開方等。乃至於,有的人在口語中區分不開計算機和計算器。

那么,做為零基礎學習這,也就從計算小學數學題目開始吧。因為從這里開始,數學的基礎知識列為肯定過關了。

復習

還是先來重溫一下偉大時刻,打印hello world.

打開電腦,讓python idle運行起來,然后輸入:

>>> print 'Hello, World'
Hello, World

細心的看官,是否注意到,我在這里用的是單引號,上次用的是雙引號。兩者效果一樣,也就是在這種情況下,單引號和雙引號是一樣的效果,一定要是成對出現的,不能一半是單引號,另外一半是雙引號。

四則運算

按照下面要求,在ide中運行,看看得到的結果和用小學數學知識運算之后得到的結果是否一致

>>> 2+5
7
>>> 5-2
3
>>> 10/2
5
>>> 5*2
10
>>> 10/5+1
3
>>> 2*3-4
2

上面的運算中,分別涉及到了四個運算符號:加(+)、減(-)、乘(*)、除(/)

另外,我相信看官已經發現了一個重要的公理:

在計算機中,四則運算和小學數學中學習過的四則運算規則是一樣的

要不說人是高等動物呢,自己發明的東西,一定要繼承自己已經掌握的知識,別跟自己的歷史過不去。偉大的科學家們,在當初設計計算機的時候就想到列為現在學習的需要了,一定不能讓后世子孫再學新的運算規則,就用小學數學里面的好了。感謝那些科學家先驅者,澤被后世。

下面計算三個算術題,看看結果是什么

  • 4 + 2
  • 4.0 + 2
  • 4.0 + 2.0

看官可能憤怒了,這么簡單的題目,就不要勞駕計算機了,太浪費了。

別着急,還是要在ide中運算一下,然后看看結果,有沒有不一樣?要仔細觀察哦。

>>> 4+2
6
>>> 4.0+2
6.0
>>> 4.0+2.0
6.0

不一樣的地方是:第一個式子結果是6,后面兩個是6.0。

現在我們就要引入兩個數據類型:整數和浮點數

對這兩個的定義,不用死記硬背,google一下。記住愛因斯坦說的那句話:書上有的我都不記憶(是這么的說?好像是,大概意思,反正我也不記憶)。后半句他沒說,我補充一下:忘了就google。

定義1:類似4、-2、129486655、-988654、0這樣形式的數,稱之為整數
定義2:類似4.0、-2.0、2344.123、3.1415926這樣形式的數,稱之為浮點數

比較好理解,整數,就是小學學過的整數;浮點數,就是小數。如果整數寫成小數形式,比如4寫成4.0,也就變成了浮點數。

愛學習,就要有探索精神。看官在網上google一下整數,會發現還有另外一個詞:長整數(型)。顧名思義,就是比較長的整數啦。在有的語言中,把這個做為單獨一類區分開,但是,在python中,我們不用管這個了。只要是整數,就只是整數,不用區分長短(以前版本區分),因為區分沒有什么意思,而且跟小學學過的數學知識不協調。

還有一個問題,需要向看官交代一下,眼前可能用不到,但是會總有一些人用這個來忽悠你,當他忽悠你的時候,下面的知識就用到了。

整數溢出問題

這里有一篇專門討論這個問題的文章,推薦閱讀:整數溢出

對於其它語言,整數溢出是必須正視的,但是,在python里面,看官就無憂愁了,原因就是python為我們解決了這個問題,請閱讀拙文:大整數相乘

ok!看官可以在IDE中實驗一下大整數相乘。

>>> 123456789870987654321122343445567678890098876*1233455667789990099876543332387665443345566
152278477193527562870044352587576277277562328362032444339019158937017801601677976183816L

看官是幸運的,python解憂愁,所以,選擇學習python就是珍惜光陰了。

上面計算結果的數字最后有一個L,就表示這個數是一個長整數,不過,看官不用管這點,反正是python為我們搞定了。

在結束本節之前,有兩個符號需要看官牢記(不記住也沒關系,可以隨時google,只不過記住后使用更方便)

  • 整數,用int表示,來自單詞:integer
  • 浮點數,用float表示,就是單詞:float

可以用一個命令:type(object)來檢測一個數是什么類型。

>>> type(4)
<type 'int'>    #4是int,整數
>>> type(5.0)
<type 'float'> #5.0是float,浮點數
type(988776544222112233445566778899887766554433221133344455566677788998776543222344556678)
<type 'long'>   #是長整數,也是一個整數

幾個常見函數

在這里就提到函數,因為這個東西是經常用到的。什么是函數?如果看官不知道此定義,可以去google。貌似是初二數學講的了。

有幾個常用的函數,列一下,如果記不住也不要緊,知道有這些就好了,用的時候就google。

求絕對值

>>> abs(10)
10
>>> abs(-10)
10
>>> abs(-1.2)
1.2

四舍五入

>>> round(1.234)
1.0
>>> round(1.234,2)
1.23

>>> #如果不清楚這個函數的用法,可以使用下面方法看幫助信息
>>> help(round)

Help on built-in function round in module __builtin__:

round(...)
    round(number[, ndigits]) -> floating point number
        
    Round a number to a given precision in decimal digits (default 0 digits).
    This always returns a floating point number.  Precision may be negative.

冪函數

>>> pow(2,3)        #2的3次方
8

math模塊(對於模塊可能還有點陌生,不過不要緊,先按照下面代碼實驗一下,慢慢就理解了)

>>> import math         #引入math模塊
>>> math.floor(32.8)    #取整,不是四舍五入
32.0
>>> math.sqrt(4)        #開平方
2.0

總結

  • python里的加減乘除按照小學數學規則執行
  • 不用擔心大整數問題,python會自動處理
  • type(object)是一個有用的東西


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM