python 分支,迴圈,條件陳述式用法
我學習了兩種資料類型,1種是數字,1種是字串。數字可以做數學運算,字串呢可以處
理文本資訊。其中數字又分為,整數,浮點數。字串當然就是字串了。整數,浮點數就
是描述數位資料類型。然後呢,要做一些有意義的事情的話,就需要把這些組合起來進行
一些處理了(就是運算式了)。還要注意,python解譯器在做解釋之前做了資料類型的檢查
,比如數字和字串是不能相加的,如果要相加必須用str()等函數轉換為字串才行哦。但
是為什麼python解譯器不預設把這樣的運算預設把數字當字串處理啊!原因是這樣的話,
以後程式寫大了萬一出問題了不好調試!嘿嘿!調試,我今天用過,調試很好啊!就像丟了
東西去找東西一樣,按照原路一步一步的看東西丟在哪裡了(這個比方不知道合適不啊)。
但是這裡有個問題啊,既然python會做類型檢查,那麼我寫的如下代碼肯定會執行錯誤的啊
!!!:
>>> "3" < 3
False
結果可以正確執行,鬱悶。python怎麼能這樣呢!得到這個結果,python到底是怎麼做的啊
。我查閱了相關資料後明白了,它是把"3"的阿斯卡碼值和3做的比較,因為數字在字母的後
面,所以python輸出了這個結果!崩潰!唉!現在想起來python這隻小蟒蛇突然間沒有那麼
的可愛了!不管了!
還有啊,當一些複合運算式的時候,最好用括弧,因為這樣可以很容易的看出誰與誰想結合
。
關於變數的思考。我現在覺得,變數不應該想成一個箱子啊!因為:
>>> x = 1 + 2
>>> y = 2 + 3
>>> z = x
>>> z
3
>>> x
3
應該想成風箏更合適點啊!變數就相當於放風箏的人!通過這個人可以找到它放的那隻“風
箏”!然後1值風箏可以有兩根線。可以兩個人一起放一隻風箏。然後,放風箏的人也可以把
自己的線隔斷再串連在別人的風箏上!嗯,我覺得這樣的理解才對呢。還有風箏的類型決定
了變數的類型,只要風箏類型一變化,變數的類型就變化了!比如:
>>> x = 7
>>> x = "haha"
>>> x
'haha'
唉!變數這樣就給變了!嗯!這樣感覺不是很好啊!還是不要隨便變來變去,變得自己都忘
記了就完啦!
二:分支,條件,迴圈
現在回想起學第一章節的時候,寫的代碼可真夠呆的。就像玩CS遊戲的時候,好多笨蛋就知
道一條直線的往前沖,都不知道選擇敵人少的地方走,真的是笨腦袋!然後呢python還是很
聰明的,例如:
x = 3
y = raw_input("y:")
if x < y:
print 'haha'
else: print 'heihei'
‘’‘’‘’‘’‘’‘’‘’‘
y:5
haha
在講分支、迴圈的時候,要特別注意python代碼中的強制縮排。
我們先看看分支:
(1)簡單的if-else
Python代碼
1. a = '1'
2. if a == 1: #注意後面有一個冒號。其中“==”是相等判斷
3. print 1 #注意print 函數之前有一個tab鍵,這就是python的強制縮排
4. else: #注意else後面的冒號
5. print 0 #注意縮排
6.
7.
8. if (a == 1): #可以添加園括弧
9. print 1
10. else:
11. print 0
輸出是:
1
1
(2)and 邏輯判斷
Python代碼
1. a = 1
2. b = 0
3. if a == 1 and b == 1: #and 是邏輯“與”運算,自然“or”就是邏輯“或”運算
4. print 1
5. else:
6. print 0
輸出是:
0
(3)分支if -else if
更近一步看:
Python代碼
1. #else if
2. a = 1
3. b = 0
4. if a < 1:
5. print 1
6. elif b < 1: #注意這裡不是else if ,而是elif。
7. print 0
輸出是:
0
以上三個就講完了分支判斷。下面講迴圈。
(一)開始是for迴圈:
其for迴圈根本上是元素的遍曆:
如:
python代碼
1. for i in range(0, 5): #注意range是一個函數
2. print i
3.
4. 輸出是:
5. 0
6. 1
7. 2
8. 3
9. 4
輸出是:
0
1
2
3
4
其中range是一個函數,表示產生一個[0,5)的序列。這裡用“[0,5)”這種數學 表達方式就
是為了說明是大於等於0,小於5。是一個半開半閉區間。注意在python中都是使用半開半閉
區間(我沒有見過其他的形式,或許可以自己實現)。
而“for i in range(0, 5):”的含義就是從“0,1,2,3,4”這個序列中,每次取出一個
元素賦值個變數i,每次執行print函數,列印元素i的值。
在if和for語句結束的地方都有一個冒號,這是為了告訴編譯器,當前行結束了,應該解釋後
面一行了。
有了這個冒號,我們其實也可以不換行,直接執行print函數。
Python代碼
1. for i in range(0, 5):print i
(二)while 迴圈
while迴圈,當while條件成立的時候,執行while內部的程式段。
Python代碼
1. i = 10
2. while i > 0:
3. print i
4. i -= 1
#注意python不支援i--,i++,--i,++i之類的運算