上節課我們已經學會用if … else 來猜年齡的遊戲啦,但是只能猜一次就中的機率太小了,如果我想給玩家3次機會呢?就是程式啟動後,玩家最多可以試3次,這個怎麼弄呢?你總不會想著把**複製3次吧。。。。
age_of_oldboy = 48
guess = int(input(">>:"))
if guess > age_of_oldboy :
print(「猜的太大了,往小裡試試…」)
elif guess < age_of_oldboy :
print(「猜的太小了,往大里試試…」)
else:
print(「恭喜你,猜對了…」)
#第2次
guess = int(input(">>:"))
if guess > age_of_oldboy :
print(「猜的太大了,往小裡試試…」)
elif guess < age_of_oldboy :
print(「猜的太小了,往大里試試…」)
else:
print(「恭喜你,猜對了…」)
#第3次
guess = int(input(">>:"))
if guess > age_of_oldboy :
print(「猜的太大了,往小裡試試…」)
elif guess < age_of_oldboy :
print(「猜的太小了,往大里試試…」)
else:
print(「恭喜你,猜對了…」)
即使是小白的你,也覺得的太low了是不是,以後要修改功能還得修改3次,因此記住,寫重複的**是程式設計師最不恥的行為。
那麼如何做到不用寫重複**又能讓程式重複一段**多次呢? 迴圈語句就派上用場啦
語法while 條件:
執行**…
簡單吧, while 就是當的意思,當山峰沒有稜角的時候,當河水。。。,sorry , while 指 當其後面的條件 成立 ,就執行while下面的**
寫個讓程式從0列印到100的程式 ,每迴圈一次,+1
count = 0
while count <= 100 : #只要count<=100就不斷執行下面的**
print("loop ", count )
count +=1 #每執行一次,就把count+1,要不然就變成死迴圈啦,因為count一直是0
輸出loop 0
loop 1
loop 2
loop 3
…loop 98
loop 99
loop 100
如果我想實現列印1到100的偶數怎麼辦呢?
那就得先搞清,怎麼判斷乙個數字是偶數,能被2整除的就是偶數對不對, 怎麼判斷能否被2整除?簡單,除完2沒有餘數就是啦。記得我們學的取模算運算子麼?
10%20
8%2 #無餘數,是偶數0
7%2 #有餘數,是奇數1放到我們的迴圈程式裡
count = 0
while count <= 100 : #只要count<=100就不斷執行下面的**
if count % 2 == 0: #是偶數
print("loop ", count)
count +=1 #每執行一次,就把count+1,要不然就變成死迴圈啦,因為count一直是0
輸出
loop 0
loop 2
loop 4
loop 6
…loop 96
loop 98
loop 100
死迴圈有一種迴圈叫死迴圈,一經觸發,就執行個天荒地老、海枯石爛。
while 是只要後邊條件成立(也就是條件結果為真)就一直執行,怎麼讓條件一直成立呢?
count = 0
while true: #true本身就是真呀
print("你是風兒我是沙,纏纏綿綿到天涯...",count)
count +=1
迴圈中止語句
如果在迴圈的過程中,因為某些原因,你不想繼續迴圈了,怎麼把它中止掉呢?這就用到break 或 continue 語句
break用於完全結束乙個迴圈,跳出迴圈體執行迴圈後面的語句
continue和break有點類似,區別在於continue只是終止本次迴圈,接著還執行後面的迴圈,break則完全終止迴圈
例子:break
count = 0
while count <= 100 : #只要count<=100就不斷執行下面的**
print("loop ", count)
if count == 5:
break
count +=1 #每執行一次,就把count+1,要不然就變成死迴圈啦,因為count一直是0
print("-----out of while loop ------")
輸出loop 0
loop 1
loop 2
loop 3
loop 4
loop 5
-----out of while loop ------
例子:continue
count = 0
while count <= 100 :
count += 1
if count > 5 and count < 95: #只要count在6-94之間,就不走下面的print語句,直接進入下一次loop
continue
print("loop ", count)
print("-----out of while loop ------")
輸出loop 1
loop 2
loop 3
loop 4
loop 5
loop 95
loop 96
loop 97
loop 98
loop 99
loop 100
loop 101
-----out of while loop ------
while … else …
與其它語言else 一般只與if 搭配不同,在python 中還有個while …else 語句
while 後面的else 作用是指,當while 迴圈正常執行完,中間沒有被break 中止的話,就會執行else後面的語句
count = 0
while count <= 5 :
count += 1
print(「loop」,count)
else:
print(「迴圈正常執行完啦」)
print("-----out of while loop ------")
輸出loop 1
loop 2
loop 3
loop 4
loop 5
loop 6
迴圈正常執行完啦
-----out of while loop ------
如果執行過程中被break啦,就不會執行else的語句啦
count = 0
while count <= 5 :
count += 1
if count == 3:break
print(「loop」,count)
else:
print(「迴圈正常執行完啦」)
print("-----out of while loop ------")
輸出loop 1
loop 2
-----out of while loop ------
小節練習
練習1:猜年齡遊戲 (10分鐘)
要求:允許使用者最多嘗試3次,3次都沒猜對的話,就直接退出,如果猜對了,列印恭喜資訊並退出
練習2:猜年齡遊戲公升級版 (20分鐘)
要求:允許使用者最多嘗試3次
每嘗試3次後,如果還沒猜對,就問使用者是否還想繼續玩,如果回答y或y, 就繼續讓其猜3次,以此往復,如果回答n或n,就退出程式
如何猜對了,就直接退出
python小猿 小猿圈python學習 內建函式
python的len為什麼你可以直接用?肯定是直譯器啟動時就定義好了 每個函式的作用我都幫你標好了 abs 求絕對值 all return true if bool x is true for all values x in the iterable.if the iterable is empty...
Python學習 流程控制
一 流程 計算機執行 的順序 二 流程控制 對計算機 執行的順序進行有效的管理,只有流程控制才能實現在開發當中的業務邏輯 三 流程控制的分類 順序流程 就是 一種自上而下的執行結構,也是python預設的流程 條件判斷流程 又稱選擇流程或者分支流程 根據在某一步的判斷,有選擇的去執行相應的邏輯的一種...
python流程控制 python之流程控制
電腦程式在解決某個具體問題時,包括三種情形,即順序執行所有的語句 選擇執行部分的語句和迴圈執行部分語句,這正好對應著程式設計中的三種程式執行結構流程 順序結構 選擇結構和迴圈結構。事實證明,任何乙個能用計算機解決的問題,只要應用這三種基本結構來寫出的程式都能解決。python語言當然也具有這三種基本...