一、

回顧一下上次的for迴圈,他還有提到一個重點

就是breakcontinue兩個,

一個是如果符合就會break,另外一個continue是跳過繼續,

也就是說一個會全部停止離開迴圈,另外一個只是跳過該值而已

可以發現到一個是break,如果到6的時候,因為符合if的條件所以直接跳出迴圈

而continue也是,到6的時候剛好符合if的條件,但是因為他後面接的是:continue,所以繼續後面的迴圈一直到10結束,但是會跳過if的那個6

以上就是上集的demo

 

 

二、while迴圈

接下來回到今天要討論的重點

while也是接一個條件式,符合就會執行該包的程式

while(條件式): 敘述

如果要用一個程式寫出階乘的話,參考以下圖片

如往常一樣,因為是要對方給一個值,我們可以算出他要的值的階乘答案,所以要他input一個值,變數令n

接著執行while的部分,後面的括號就是條件,因為是階乘,不可以超出對方給的n值,所以條件符合才會在後續程式(while迴圈)運作

但是在運作之前,不知道 i 是什麼,所以我們給他一個預設值是i=1,其實就有點像是 i in range(1, n) or i in range(1, n+1)的感覺,只是現在不是for迴圈是while迴圈

註解後面跟註解前面是一樣的表達方式,單純看你習慣寫法,後面比較直觀,但寫久了我覺得前面比較順

我們也要有一個total值可以讓我們繼續做相乘,也就是要給另外一個值(sum的概念),令他為final,final是一個新令的變數,不可以憑空出現,所以在迴圈之前也要給他一個預設值,我們讓他預設值為final=1,又因為他跟 i 都是同個預設值,所以把他們寫在一起~~

帶數字來看,第一層,i=1的時候,1x1=1,1+1=2,這時final值為1,第二行i值變成2了,所以i=2,沒超過原本對方給的n值,所以迴圈繼續跑

第二層,i=2的時候,1x2=2,2+1=3,final值變成2,第二行的 i 值變成3,i=3,還在while條件符合內,迴圈繼續

第三層,i=3,2x3=6,3+1=4,final值變成6,i值變成4,依此類推

小記:我真的習慣.format的寫法了我不知道是好事還是壞事哈哈

 

以下有災難發生,不小心輸入一個數字太爽,直接100給他下去,print出的內容沒有寫好,不小心也把她寫在迴圈內了XD

所以大家在寫迴圈的時候要注意一下,print的位置要擺好(? 之類的哈哈哈

還print到分行超好笑(我沒貼) 哈哈哈,總之大家要注意一下唷!

100's answer is:93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

我沒有驗證,我這個人就是有點ㄅㄧㄥˇㄉㄨㄚˊ,但我想應該是不會錯的,畢竟前面的階乘這麼準確XD?

另外0!的答案是1,大家自己再想要怎麼表示

 

以上就是for迴圈(上篇內容)和while迴圈(這篇內容)的介紹,我本人覺得for迴圈比較直觀?while迴圈要記得給預設值

while圈也沒有固定次數,單純是條件式成立才會執行程式區塊,各有優缺點?

不過兩邊的執行力基本上是一樣的(? 不專業評斷XD

 

##我是python初學者,其實這些是我的筆記,在書籍上我覺得重要or有時候會忘記的部分,單純想說公開讓大家一起學習並討論。

arrow
arrow

    v777007 發表在 痞客邦 留言(0) 人氣()