小猿圈python學習 流程控制之while迴圈

2021-09-20 09:42:32 字數 4091 閱讀 6805

上節課我們已經學會用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%2

0

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語言當然也具有這三種基本...