第八次課:Python縮進、語句

  在談到語句之前,要簡要說下Python的縮進。對於Python而言代碼縮進是一種語法,Python沒有像其他語言一樣採用{}或者begin...end分隔代碼塊,而是採用代碼縮進和冒號來區分代碼之間的層次。縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行,否則將拋出SyntaxError異常。縮進的方式有兩種,第一是採用Tab鍵,第二是空格。

  同其他編程語言一樣,Python語句也存在條件選擇和循環語句兩種,其風格和其他語言的很類似,但是在寫法和用法上還是有一些區別。下面就讓我們一起來了解一下。

一.條件選擇語句

  Python中條件選擇語句的關鍵字爲:if 、elif 、else這三個。其基本形式如下:

if  <條件1>:

    statement

elif <條件2>:

    statement

elif <條件3>:

    statement

............

else:

    statement

  其中elif和else語句塊是可選的。對於if和elif只有條件或表達式expression爲True時,該分支語句才執行,只有當if和所有的elif的條件或表達式都爲False時,才執行else分支。注意Python中條件選擇語句和其他語言中的區別,如C語言中條件或表達式expression必須要用括號括起來,在Python中不用,但是要注意條件或表達式後面有個冒號(:)。

  下面舉例來演示條件選擇語句的用法:(根據學生的成績來評定等級,優秀、良好、及格、不及格)

num=input("Please input your source:")

if num >=85:

     print("Congratulations, you are excellent")

elif num>=75 and num <85:

     print("Congratulations, you're doing well")

elif num>=60 and num<75:

     print("Congratulations, you passed the exam")

else:

     print("Sorry, you didn't pass the exam")

演示效果如圖:

35a85451d73fd47154075b7149d6105f.png-wh_

二.循環語句

  和其他語言一樣,Python也有自己的循環語句,提供了for循環和while循環兩種,沒有do..while循環。Python中的for循環用法Java、C#中的for循環用法類似,while循環用法大致和C語言中的類似。

for循壞

  for循環的基本形式如下:

for variable in list:

   block

  下面舉例來演示for循壞語句的用法:(計算從1到100的和)

sum1=0

for i in range(1,101):

    sum1+=i

print(sum1),

演示效果如圖:

c6ecc0c4b23e993408510f7cfd1cc74e.png-wh_

  注:range()是一個內置函數,它可以生成某個範圍內的數字列表。比如說range(1,6)就會生成[1,2,3,4,5]這樣一個列表,而range(8)會生成[0,1,2,3,4,5,6,7]這樣一個列表。此外還有xrange()函數,用法和range()相同,但返回的是一個生成器,如xrange(1,6),將返回xrange(1,6)。在循壞中用xrange會比range性能優很多,尤其是返回很大的時候,因爲不需要一上來就開闢一塊很大的內存空間。舉例如圖:

b79c44ee3a8717fcc3db7736bd6cb724.png-wh_

  上面演示的是當個循壞,接下來看看嵌套循環,比如說有一個列表list,要遍歷輸出每個字符。如下:

list=['China','Britain','French','Russia','Germany','Dubai','Auatralia']

for i in range(len(list)):

    a=list[i]

    print a,

    for x in range(len(a)):

          b=a[x]

          print b,

e19bfabe004aef1b7f3ff96ee4ddfdc2.png-wh_

  注:內置的函數len()不僅可以用來求算字符串的長度也可以用來求列表或者集合中成員的個數。

這裏還給大家一個列子,用來展示九九乘法表,代碼如下:

for i in range(1,10):

    for j in range(1,i+1):

        print j,"x",i,"=",j*i,"",

        if j>=i:

            print('')

  在這段代碼中大家要注意的是,print默認會自動換行,輸出的結果就是一整列,加入逗號就表明不自動換行,就會格式化顯示乘法表的模樣,效果如圖:

81204999a88945dd7615981125621b88.png-wh_

while循環

  while循環的基本形式:

while <條件>:

    statement

  只有當條件爲True時,才執行循環。一旦條件爲False,循環就終止了。

  下面舉例來演示while循壞語句的用法:(計算從1到100的和)

i=1

sum1=0

while i<=100:

    sum1+=i

    i+=1

print(sum1)

  如果想要在語句塊過程中終止循環,可以用break或者continue。break是跳出整個循環,而continue是跳出該次循環。

  下面舉個列子說明下:(判斷用戶是否輸入退出程序exit,如沒有則輸出用戶輸入的命令,加入一個判斷字符長度的條件)

while True:  

    str1 = raw_input('請輸入一個命令:')  

    if str1 == 'exit':  

        break  

    elif len(str1) < 3:  

        print '您輸入的字符有點短喲,請重新輸入!'  

        continue  

    else:  

        print '你輸入的命令是:', str1  

654efe9223899885ea45c57329e86fa5.png-wh_

  從上面的例子中可以看出Python中的for和while循環都是可以加條件選擇語句的,其中else子句在整個循環執行條件不符合時才執行。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章