qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          python學習之算法

          安裝與運行交互式解釋器

           

              在絕大多數linux和 UNIX系統安裝中(包括Mac OS X,Python的解釋器就已經存在了。我們可以在提示符下輸入python命令進行驗證(作者環境ubuntu

          fnngj@fnngj-H24X:~$ python  Python 2.7.3 (default, Sep 26 2012, 21:53:58)  [GCC 4.7.2] on linux2  Type "help", "copyright", "credits" or "license" for more information.  >>> 

          Ok ! 如果敲入python命令出現以上信息時,表明我們已經安裝了python 環境。

                     如果沒有安裝,在ubuntu /Debin linux ,那么可以用下面的命令來安裝Python:

           $ apt-get install python

          如果是window 下的安裝,以及linux 下下載源碼包的安裝,相信此類人問題很容易找到,這里就不具體講解了。相信比第一次配置java環境要簡單的多。

           

          輸入一下命令,看其是否可以正常運行。

          >>> print "hello,world!"  hello,world!

          注意:如果要退出交互式解釋器,可以ctrl+D 

          數字和表達式:

           

          交互式python解釋器可以當強大的計算器使用

          復制代碼
          >>> 1-2 
          -1 
          >>> 1+2 
          3 
          >>> 32784*13 
          426192 
          >>> 1/2 
          0
          復制代碼

             什么情況?1不是應該等于0.5么?怎么是0呢? “/” 用于取整,不夠整除,肯定就是0了,試試浮點數

          >>> 7/2 
          3
          >>> 1.0/2.0 
          0.5

           

          試試“%” 取余

          復制代碼
          >>> 6 % 3 
          0 
          >>> 6 / 3 
          2 
          >>> 6 % 3 
          0 
          >>> 7 / 3 
          2 
          >>> 7 % 3 
          1 
          >>> 13 % 9 
          4
          >>> 0.75 % 0.5 
          0.25
          復制代碼

          看明白整除(/)與取余(%)的區別了吧。

          6 / 3 剛好被2整除,所以余數(%)是, 13 / 9 只能帶得到1,余數就是


          下面再試試“ ** ” 冪運算(乘方)符

          復制代碼
          >>> 2*2*2 
          8 
          >>> 2**3 
          8 
          >>> 2**6 
          64 
          >>> -3**2 
          -9 
          >>> (-3)**2 
          9
          復制代碼

          23次方可以用乘方符(**)表示,這樣就相當方便。

          乘方符的比取反(一元減運算符)的優先級高,所以-3**2 等同于-3**2),如果想計算(-3**2 ,就需要顯式說明。

           

           

          長整數


          python可以處理非常大的數

          >>> 100000000000000000000000 
          100000000000000000000000L 
          
          >>> 100000000000000000000000L 
          100000000000000000000000L

          普通整數在2 147 483 647 至 -2 147 483 647 之間,超出可以用長整形表示(L) ,我們也可以自己把整數轉換成長整型(輸入時在末尾加“L”


           

          變量


          這個和其他編程語言沒有任何不同,如果你從沒接觸過程序,相信你也很容易理解。

          >>> x = 3 
          >>> x*2 
          6
          >>> x = 5 
          >>> x * 2 
          1

          賦值給 ,那么變量現在的值就是3, 乘以 結果是,我又把賦值給了 ,那么與2相乘的結果肯定是10了。

          定義變量規則:不能以數字開頭,可以包含字母、數字和下劃線。

           

           

          語句


          實際上最開始我們已經講了語句 print 就是打印輸出語句。

          >>> 2*2 
          4 
          
          >>> print 2*2 
          4

          雖然結果一樣,上面的是表達式,下面的是語句。



          獲取用戶輸入


          有使用程序運行的過程需要用戶輸入,根據用戶輸入的內容繼續執行。

          >>> input("輸入表達式:") 
          輸入表達式:2*2 
          4

          程序的第二行等待用戶輸入,2*2 是由用戶隨便輸入的。下面看個更有意思點的。

          >>> x=input("x:") 
          x:15 
          >>> y=input("y:") 
          y:32 
          >>> print x*y 
          480 

          哎~!別傻看了,和我一起敲才有意思呢! 我保證下面的你看不懂!

          >>> if 1==2 : print 'one equals two' 
          ... 
          >>> if 1==1 : print 'one equals one' 
          ... 
          one equals one 

          算了,告訴你吧,如果1等于(==2,條件是假(就是不成立),print 'one equals two' 將不被執行。

          如果1等于(==1,條件是真(成立),print 'one equals ' 將被執行。

           

           

          函數


          前面介紹過使用冪運算符(**)來計算乘方。事實上,可以用函數來代替運算符,這個函數就是pow :

          >>> 2**3
          8
          
          >>> pow(2,3)
          8

          函數就像可以用來實現特定功能的小程序一樣。python的很多函數都做很奇妙的事情。我們也可以自定義函數。因此,我們通常把pow等系統提供的函數稱為 內建函數。

          復制代碼
          >>> 10+pow(2, 3*5)/3.0
          10932.666666666666
          
          >>> abs(-10)
          10
          >>> 18/13
          1
          >>> round(18.4/13.7)
          1.0
          復制代碼

           

          我們當熱可以使用函數調用和運算符創建更復雜的表達式; abs()函數可以得到數人絕對值,round函數則會把浮點數四舍五入為最接近的整數值。


           

          模塊


          可以把模塊想象成導入到python以增強其功能的擴展。需要使用特殊人命令import來導入模塊。

          >>> import math
          >>> math.floor(32.9)
          32.0
          >>> int(math.floor(32.9))
          32

          floor 函數的功能是取整。因為floor()函數屬于math模塊,所以在使用之前要先導入模塊(import math),然后按照(模塊.函數)的格式使用這個模塊的函數。

          如果想把32.9轉換為整數(32)而不是浮點數(32.0),可以使用int函數。


          在確定自己不會導入多個同名函數(從不同模塊導入)的情況下,你可能不希望在每次調用函數的時候,都要寫模塊的名字。那么,可以使用import命令的另外一種形式:

          >>> from math import sqrt
          >>> sqrt(9)
          3.0
          >>> sqrt(8)
          2.8284271247461903

          sqrt()函數用于計算一個數的平方根。


           

          保存并執行程序


          本人在ubuntu 下進程學習,一個python命令就進入了交互式解釋器。交互式解釋器是python的強項之一,它讓實時檢驗解決方案并且體驗這門語言成為了現實。但是,在交互式解釋器里面輸入的一切都會在它退出的時候丟失。我們真正想做的事情是編寫自己和他人都能運行的程序。

          復制代碼
          下面我們創建一個文件
          root@fnngj-H24X:/hzh/python# touch hell.py
          root@fnngj-H24X:/hzh/python# ls
          hell.py
          root@fnngj-H24X:/hzh/python# vi hell.py
          輸入:
          print “hello,world!”
          
          保存退出。運行
          root@fnngj-H24X:/hzh/python# python hell.py 
          hello,world!
          復制代碼

           

           

          看!這就是一個可以一直運行的程序。 好吧!以上面的這種方式,在來做個有意思的程序。

           

          復制代碼
          打開文件,輸入一下程序:
          name=raw_input("what is your name?")
          print "hello "+name+ " !"
          
          保存退出,運行!
          root@fnngj-H24X:/hzh/python# python hell.py 
          what is your name?huhu      // 這里要求用戶輸入自己的名字
          hello huhu !
          復制代碼

           

           


                       不知道是因為python 語言本身的特點,還是因為我找到了一本不錯的入門教程《python 基礎教程(第二版)》 ,我學習這門語言的過程非常舒服。不像java,為了使程序輸出一個hello word ,要寫很多東西。(這里沒有說java不好的意思)

           

          posted on 2014-01-28 23:58 順其自然EVO 閱讀(197) 評論(0)  編輯  收藏 所屬分類: python

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 雷山县| 南涧| 随州市| 确山县| 新源县| 海原县| 社会| 共和县| 城口县| 滕州市| 闻喜县| 砚山县| 株洲县| 万荣县| 卫辉市| 白银市| 洛宁县| 桃园市| 清流县| 合川市| 吉林省| 灵石县| 晋江市| 谢通门县| 交城县| 洛川县| 张北县| 邓州市| 宜川县| 怀仁县| 南涧| 泾源县| 巴塘县| 巴东县| 济源市| 安新县| 克拉玛依市| 玉环县| 井陉县| 宣城市| 金华市|