Python趣味入門5 迴圈語句while

2022-03-21 19:40:13 字數 2492 閱讀 1486

任何語言都有迴圈語句,在python裡迴圈更是變化無窮,有基本的迴圈,有迴圈else語句,引伸出來的還有迭代器、推導式,咱們先學習最簡單的一種。

while 條件判斷語句:

子**1

子**2

子**3

…子**n

主**1

while語句的格式與if類似,子**必須進行縮排4個空格,作用卻是大不相同。當它執行第一次迴圈時,判斷條件是否成立,如果條件成立,就從子**1開始執行到子**n,然後程式會回到while語句再次判斷條件是否成立,如果成立就繼續從子**1開始執行,如果不成立就跳過子**段,系統從主**1開始往後執行。

話說在north kingdom北境國的北面夜王控制了塞外,曾經春夏交織,現在每天雪花連綿,似乎進入了無限迴圈狀態。

類似於永不停止的重複動作即無限迴圈,實現它需要在寫條件判斷語句時,直接寫上永遠為true的判斷結果,簡單直接使用true,以實現了無窮迴圈的功能,如下面的程式所示:

>>> while true: 

print('下雪')

下雪 下雪

下雪 下雪

下雪 下雪 (按下ctrl+c來終止程式無窮執行)

keyboardinterrupt

>>>

身為北境守衛者的我 - 中文名雪諾(英文名snow)決定越過長城北,解決掉夜王。國王stannis請我在王宮500個最強壯的衛兵中,挑選10人同行,由於時間有限不可能全部面試500人為了公平,於是我決定由電腦隨機挑出1個人,通過後即出隊入選,這樣重複多次直到10人選滿為止。

關於這個挑人程式,現在分析如下:

本程式從500人的隊伍裡,隨機挑出,如果滿意就入選,不滿意就歸隊

1

import random #

使用隨機數工具

2 volunteer = 500

3while volunteer > 500-10: #

當剩下的人數大於490時才繼續面試

4 test = random.randint(1,volunteer)

5if(input('

還剩下'+ str(volunteer)+'

人,這是隨機挑選的第

'+str(test)+'

號,您滿意麼(y/n)?

') == 'y'

):6 volunteer -= 1 #

入選後隊伍就會少1人

7print('

您已經選足了10個人!

')

上面程式使用了無限迴圈,為實現滿足選定10人就退出的功能,在迴圈裡進行了條件判斷,滿足條件退出python,程式執行結果如下所示:

還剩下500人,這是隨機挑選的第329號,您滿意麼(y/n)?y

還剩下499人,這是隨機挑選的第113號,您滿意麼(y/n)?n

還剩下499人,這是隨機挑選的第176號,您滿意麼(y/n)?y

還剩下498人,這是隨機挑選的第243號,您滿意麼(y/n)?y

還剩下497人,這是隨機挑選的第315號,您滿意麼(y/n)?y

還剩下496人,這是隨機挑選的第413號,您滿意麼(y/n)?y

還剩下495人,這是隨機挑選的第375號,您滿意麼(y/n)?y

還剩下494人,這是隨機挑選的第440號,您滿意麼(y/n)?y

還剩下493人,這是隨機挑選的第389號,您滿意麼(y/n)?y

還剩下492人,這是隨機挑選的第388號,您滿意麼(y/n)?y

還剩下491人,這是隨機挑選的第231號,您滿意麼(y/n)?y

您已經選足了10個人!

在執行過程中第2次輸入不滿意n時,可以看到剩下的人數499並沒有變化。

在這裡迴圈和判斷都是之前講過的內容,重點是下面的語句:

import random
這句話是告訴計算機,我馬上要使用random模組,模組就是系統中提供高階功能的工具包。為什麼要執行這條語句呢?主要是因為系統內建會提供一些功能,比如條件語句、判斷語句、計算語句,為了節約記憶體不可能把所有功能都提供,所以當我們使用手邊沒有的工具時(比如本程式用的隨機數)就要宣告,好讓程式載入到記憶體裡。

下面的語句裡,volunteer是變數,表示剩下的人總數,randint()這種帶括號形式的寫法,表示函式的執行,該函式返回從1到volunteer之間(也包括)任意隨機數(代表抽出的人的編號),最後把抽出的編號賦值儲存於test變數。

test = random.randint(1,volunteer)
說明:當執行外部模組的函式,要用英文符號圓點.

python趣味入門4:while迴圈示例

小牛叔傾情出品,史上更簡單有趣的python入門系列教程,用認真、上心的原創帶你飛。

python入門 迴圈語句

在 python 中沒有 do.while 迴圈。以下例項使用了 while 來計算 1 到 100 的總和 while迴圈 n 100 sum 0 i 0 while i n i 1 sum i print sum 無限迴圈 var 1 while var 1 表示式永遠為 true num in...

Python入門if語句 迴圈語句if while

score 75 if score 60 print passed score 55 if score 60 print passed else print failed score 85 if score 90 print excellent elif score 80 print good el...

python入門5語句

1 if else語句 格式 if 表示式 語句1else 語句2當程式執行到if語句時,首先計算 表示式 的值,如果表示式的值為真,則執行語句1 如果表示式的值為假,則執行語句2 常見假值 0 0.0 none false 2 while語句 格式 while 表示式 語句首先計算表示式的值,如果...