標籤:語句 python if
在談到語句之前,要簡要說下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")
示範效果
650) this.width=650;" src="https://s4.51cto.com/oss/201710/25/35a85451d73fd47154075b7149d6105f.png-wh_500x0-wm_3-wmp_4-s_2466329859.png" title="QQ20171025105640.png" alt="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),
示範效果
650) this.width=650;" src="https://s2.51cto.com/oss/201710/25/c6ecc0c4b23e993408510f7cfd1cc74e.png-wh_500x0-wm_3-wmp_4-s_688046038.png" title="QQ20171025105748.png" alt="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效能優很多,尤其是返回很大的時候,因為不需要一上來就開闢一塊很大的記憶體空間。舉例
650) this.width=650;" src="https://s5.51cto.com/oss/201710/25/b79c44ee3a8717fcc3db7736bd6cb724.png-wh_500x0-wm_3-wmp_4-s_2368092243.png" title="QQ20171025131812.png" alt="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,
650) this.width=650;" src="https://s2.51cto.com/oss/201710/25/e19bfabe004aef1b7f3ff96ee4ddfdc2.png-wh_500x0-wm_3-wmp_4-s_1933273123.png" title="QQ20171025105843.png" alt="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預設會自動換行,輸出的結果就是一整列,加入逗號就表明不自動換行,就會格式化顯示乘法表的模樣,效果
650) this.width=650;" src="https://s1.51cto.com/oss/201710/25/81204999a88945dd7615981125621b88.png-wh_500x0-wm_3-wmp_4-s_3965803854.png" title="QQ20171025105053.png" alt="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
650) this.width=650;" src="https://s5.51cto.com/oss/201710/25/654efe9223899885ea45c57329e86fa5.png-wh_500x0-wm_3-wmp_4-s_749979862.png" title="QQ20171025112839.png" alt="654efe9223899885ea45c57329e86fa5.png-wh_" />
從上面的例子中可以看出Python中的for和while迴圈都是可以加條件選擇語句的,其中else子句在整個迴圈執行條件不符合時才執行。
本文出自 “DreamScape” 部落格,請務必保留此出處http://dyqd2011.blog.51cto.com/3201444/1975883
第八次課:Python縮排、語句