迴圈簡單來說就是讓一段**按你想要的方式多次執行。軟體擁有強大的運算能力,就是由迴圈提供的。
在 python 中支援的迴圈由兩種:while
迴圈 和for
迴圈。
現在我們先來講while
迴圈。
while 的中文意思為當…的時候。顧名思義,當條件滿足的時候做什麼事情。來看看 while 語句的格式:
while 條件:
當條件成立的時候,執行這裡的語句 # 注意縮排
while 迴圈,當條件滿足的時候,執行 while 包含的語句塊,直到條件不滿足,則退出迴圈,繼續執行後面的語句。while 主要用於無法確定迴圈次數的時候:
# 看乙個練習:
# 當乙個變數小於5時,持續列印變數的值,超過5則退出。
i =0
while i <5:
print
(i) i +=
1
while 迴圈很容易出現死迴圈。上面的例子中,如果我們忘了讓 i 的值自增,那麼由於 while 容易出現死迴圈,所以我們在實際使用過程中,while 迴圈的使用頻率遠低於我們後面要講的 for 迴圈。i < 5
會一直成立。print 語句會一直列印。試一試?!如果不幸出現死迴圈,在 idle 工具中,直接按 ctrl + c 強行結束即可。如果編碼工具,點紅色的方塊,馬上結束執行。
不過對於某些無法確定次數的迴圈,或者需要條件觸發條件結束的情況,用 while 更方便。
# 再看乙個例子
# 輸入乙個數,當這個數的平方大於100時退出,否則持續接收使用者輸入
i =0
while i**
2<=
100:
i =int(
input
('請輸入乙個數:'
))
上面的例子,無法確定使用者會輸入多少次才會出現平方大於100的情況,那麼我們就可以使用 while 迴圈。
另外, while 迴圈也會經常和 break 語句組合來用。
break 語句用於結束當前迴圈我們可以通過死迴圈加上在合適時機通過 break 退出迴圈來達到我們想要的效果。
把上面的平方例子改一下:
while
true
:# 保持一直迴圈的狀態
i =int(
input
('請輸入乙個數:'))
if i**
2>
100:
break
是不是容易書寫和理解一些?
我們可以把上一節的練習,全部加上 while 迴圈,這樣讓我們可以一直操作,直到我們厭煩為止,而不用每執行一次都要重新再執行。
比如第乙個練習:
輸入乙個int型的資料,判斷這個數是否能被2整除,如果能被2整除,那麼輸出「這個數是偶數」,否則輸出「這個數是奇數」。
# 持續判斷,直到使用者輸入0的時候 ,退出。
while
true
: num =
int(
input
('請輸入乙個數:'))
if num ==0:
print
('你選擇了退出!'
)break
elif num %2==
0:# 乙個數取餘2為0則是偶數
print
('這個數是偶數!'
)elif num %2==
1:print
('這個數是奇數!'
)else
:print
('輸入有誤,請輸入乙個整數!'
)# 試著把 num==0 的條件放在後面,試試還可以退出麼?為什麼?
本節練習:首先把上一節的練習全部改造為 while 語句,一直執行直到使用你自己希望的方式結束迴圈;
使用 while 迴圈實現 100 以內的累加(包括100)
紙張可以無限次對折,紙張厚度為0.07公釐。問多少次對折至少可以超過8848公尺?(注意單位)
乙個自然數與3的和是5的倍數,與3的差是6的倍數,這個自然數最小是幾?
Shell 極簡教程
vim hello world.sh bin bash echo hello world chmod x sh hello world.sh hello,world bin bash echo hello,world a 1b expr a 1 echo b注意,變數名和等號之間不能有空格,這可能和...
crontab極簡教程
toc crontab簡介 linux crontab是用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。crontab常用命令 crontab e 開啟vi編輯器,編寫乙個定時任務,退出vi後,若vi內容不為空,則會建立乙個任務。crontab l 檢視當前已經建立的定時...
crontab極簡教程
目錄linux crontab是用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。建立兩個定時任務。第乙個,一分鐘執行一次,使用echo輸出一串字元 第二個,兩分鐘執行一次,使用echo輸出另一串字元。在linux 的shell 中輸入crontab e 命令 echo o...