您好,登錄后才能下訂單哦!
本文實例講述了Python分支語句與循環語句應用。分享給大家供大家參考,具體如下:
一、分支語句
1、if else語句
語法:
if 條件判斷:
執行的語句塊1
else :
執行語句塊2
當滿足條件的時候則執行語句塊1 ,不滿足條件就執行語句塊2
注意:1、條件判斷后面要加冒號”:“;
2、執行語句塊需要縮進【4個空格】。
else 與 if對齊,else后面要加”:”,語句塊縮進4個空格
''' 從控制臺輸入年齡,如果年齡小于18歲,打印”未成年人禁止進入“ 大于18歲,打印”歡迎光臨“ ''' age = input("請輸入您的年齡:") age = int(age) if age < 18: print("未成年人禁止進入") print("等你滿18歲就可以來了") else: print("歡迎光臨")
輸出:
請輸入您的年齡:18
歡迎光臨
''' 從控制臺輸入兩個數,輸出較大的值,不能使用max函數 ''' num1= int(input("請輸入number1:")) num2= int(input("請輸入number2:")) if num1 > num2 : print("較大的數為number1:",num1) elif num1 == num2 : print("number1 %d與 number2 %d相等"%(num1,num2)) else: print("較大的數為number2:",num2)
輸出:
請輸入number1:12
請輸入number2:13
較大的數為number2: 13
需要多重判斷的時候,我們則可以使用以下的方式來解決
if 條件判斷1:
語句1
elif 條件判斷2:
語句2
...
elif 條件判斷n:
語句n
else:
語句
注意:elif是else if的縮寫,可以有多個elif。
所以,根據上面的需求,我們的代碼則可以這樣寫
''' 如果年齡小于等于18,打印少年,年齡大于18且小于等于25,則打印青年,大于25小于等于40,打印壯年,大于40,打印您更年期到了。。。 ''' age = 34 if age <= 18: print("少年") elif age <= 25: print("青年") elif age <= 40: print("壯年") else: print("您的更年期到啦")
if語句有個特點,它是從上往下判斷,如果在某個判斷上是True,把該判斷的語句對應執行后,就忽略掉其他的elif和else。
if判斷語句還可以簡寫:
if x:
print("True")
只要x是非零數值,非空字符串,非空list,就判斷為True,否則為False
2、嵌套的if語句
需求:現輸入一個數,判斷他是否為大于10的偶數
如果要解決上述的需求,可能我們需要兩個判斷語句,第一個判斷輸入的數是否大于10,第二個判斷是在第一個的基礎上來判定這個數是否為偶數。
簡單的說,就是在if語句中再嵌套一個if語句,效果如下:
語法:
if 表達式1:
語句1
if 表達式2:
語句2
num = 20 if num > 10: if num % 2 == 0: print(num)
注意:從語法的角度上說,嵌套的層數沒有限制,但是,從代碼的可讀性和可維護性來說,最好的嵌套的層數不要超過三層。
3、if 的神奇用法(三目運算)
偽三目運算
result1 if 判斷條件 else result2
若條件成立則輸出結果result1,否則輸出結果result2
>>> x = 10 >>> y = 20 >>> x if x > y else y 20
二、循環語句之while
1、while循環的語法:
while 判斷語句:
執行代碼塊
當判斷語句成立的時候,執行下面的代碼塊【判斷語句的結果為True,即不等于0,0.0,False,None的情況下執行代碼塊】。
... 計算 1 + 2 + 3 + ... + 1000 ... n = 1 sum = 0 while n <= 100: sum = sum + n n = n + 1 print("sum = %d" % sum) print("n = %d" % n)
輸出:
sum = 5050
n = 101
''' 從[100,1000)的水仙花數 ''' n = 100 print("水仙花數") while n < 1000: bai = n // 100 shi = n //10 % 10 ge = n %10 if n == pow(bai,3) + pow(shi,3) + pow(ge,3): print("%d" %n) n += 1
輸出:
水仙花數
153
370
371
407
2、while 之死循環
死循環出現的契機:當表達式永遠為真的時候,會出現死循環。
while 1: print("I am very good !")
3、while else
''' while else 的語法 while 條件判斷: 循環語句塊 else: 語句塊 當條件判斷的結果為True的情況下,執行循環語句塊 直到條件判斷的結果為False的時候跳出循環,并且執行else語句,如果是通過break跳出循環則不執行else語句 ''' n = 100 print("水仙花數") while n < 1000: bai = n // 100 shi = n //10 % 10 ge = n %10 if n == pow(bai,3) + pow(shi,3) + pow(ge,3): print("%d" %n) n += 1 else: print("循環已結束")
輸出:
水仙花數
153
370
371
407
循環已結束
4、while之簡單的語句組
如果你的while循環體中只有一條語句,你可以將該語句與while寫在同一行。
語法:
while 條件: 語句
while True: print("you are a good man")
三、結束循環語句
1.break語句的使用
在循環中,使用break語句可以提前退出循環。
例如:本來循環打印1~100的數字,但是,現在我要提前結束,當數字大于10的時候,打印循環結束。
n = 1 while n <= 100: if n > 10: #當n = 11時,條件滿足,執行break語句 break print(n) n += 1 print("循環結束")
2.continue語句的使用
在循環的過程中,可以通過continue語句,跳過當前的這次循環,直接開始下一次循環。
n = 0 while n < 10: n += 1 print(n)
通過上面的程序可以打印出1~10,但是,如果我們只想打印奇數,可以使用continue語句跳過某些循環。
思考三:打印1~100以內的奇數
num = 1 while num <= 100: if num%2 == 0: continue print(n)
3. pass語句的使用
pass 語句是空語句,是為了保持程序結構的完整性
pass 不做任何事情,一般用做占位語句
if True: pass else: print("hello")
四、循環語句之for
1、for循環
python 的循環有兩種,一種是我們之前講的while循環,另外一種就是for…in循環,依次把list或者tuple中的元素或者字符串迭代出來。
name = ['lili','Bob','Tracy'] for name in names: print(name)
執行這段代碼,會依次打印names的每一個元素
lili
Bob
Tracy
所以 for x in …
循環就是把每個元素帶入變量x,然后執行縮進塊語句。
計算1~10的整數之和,可以用一個sum變量做累加:
sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + x print(sum)
如果要計算1~100的整數之和,從1到100有點困難,在python中提供一個range()函數,可以生成一個整數序列,再通過list()函數可以轉換為list,比如range(5)生成的序列是從0開始小于5的整數。
sum = 0 for x in range(100): sum += x print(sum)
2、for 循環使用else語句
與while…else類似,else也會在循環正常執行完的情況下執行
for i in range(10): print(i) else: print("********")
3、range函數
range函數可創建一個可迭代對象,一般用在for循環中
函數語法:
range([start,] stop[, step])
參數說明:
python
1.start:計數從start開始,默認從0開始,例如:range(5)等價于range(0, 5)
2.stop:計數到stop結束,但不包括stop。例如:range(0,5)的取值為[0,5)
3.step:步長,默認為1,例如range(0,5) 等價于range(0, 5, 1)
函數返回一個可迭代對象,從這個可迭代對象中可以獲取一個整數列表。
#使用list函數,可以從可迭代對象中獲取整數列表 >>> list(range(5)) [0, 1, 2, 3, 4]
五、嵌套循環
我們可以在循環體中嵌套循環。
需求:打印九九乘法表
for i in range(1,10): for j in range(1,i + 1): print("%d*%d=%d"%(j,i,j*i),end='\t') print()
輸出:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python入門與進階經典教程》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。