if 條件判斷
書寫格式
score = 9.7
if score > 9.0 :
print 'Excellent.'
print 'Make persistent efforts.'
elif score >8.0 :
print 'Good'
else :
print 'Passed, but you can be better next time'
注意: Python代碼的縮進規則。具有相同縮進的代碼被視為代碼塊,也就是說,'Excellent' 和 'Make persistent efforts.' 會同時出現。如果 if 語句判斷為 True,就會執行這個代碼塊。
縮進請嚴格按照Python的習慣寫法:4個空格,不要使用Tab,更不要混合Tab和空格,否則很容易造成因為縮進引起的文法錯誤。
注意: if 語句後接表達式,然後用 : 表示代碼塊開始。elif,else 後面一樣要加 :。
特别注意: 這一系列條件判斷會從上到下依次判斷,如果某個判斷為 True,執行完對應的代碼塊,後面的條件判斷就直接忽略,不再執行了。
for 循環
書寫格式
我們先寫一段計算平均值的代碼。按照以往 C 或者 MATLAB 的習慣,一般會這樣寫
score = [9.8, 9.3, 9.4, 9.5]
sum = 0.0
for s in range[0, len(score)] :
sum = sum + score[s]
print sum/len(score)
這裡 len()用來計算序列長度。
range() 用來生成序列,但要格外注意的是其範圍,
>>> r = range[1,5]
>>> print r
[1,2,3,4]
它的範圍是最後一位數減 1 。range 的其它用法我們在後面的小結裡會講到。
按照一貫的思路,通路score 時總要用 score[i]。
但在 for 語句以及其它控制流語句裡,可以這也寫:
score = [9.8, 9.3, 9.4, 9.5]
sum = 0.0
for s in score :
sum = sum + s
print sum/len(score)
同樣,要注意 :
while 循環
sum = 0
x = 1
while x <101 :
if x%2 :
sum = sum + x
x = x + 1
print sum
這裡我們計算了100以内偶整數和。
while 比較直覺,不多介紹。其注意的地方是退出的條件。比如,可以用到 break。
break 退出循環
同樣寫上面的代碼
sum = 0
x = 1
while True :
if x%2 :
sum = sum + x
x = x + 1
if x > 101 :
break
print sum
這裡用break跳出了循環。
continue 繼續循環
還是寫上面程式
sum = 0
for x in range(1,101) :
if not x%2 :
continue
sum = sum + x
這裡,如果 x 為奇數,則 繼續循環 而不進行下面的 sum = sum + x 的語句。
循環嵌套
這裡我們寫一個程式實作下面功能,
輸出100以内,十位數大于個位數的整數。
for x in range(0,10) :
for y in range(1,10) :
if y > x :
print y*10 + x