6

——while循環的改進——

我們之前設置的游戲規則為:只給你三次猜測的機會,如果三次猜不中,就顯示你已經猜了太多次退出了。現在我想修改游戲規則為:當你三次都猜錯了之后,會詢問你你是否還想繼續猜。如果是的話,可以繼續給三次機會進行猜測,如果否就退出。

主要的思想是:在while循環內,這時的count已經等于3,我們在此時設置一個確認標志,如果這個這個確認標志不是N,我們就繼續猜,方法是可以把count清零,給count賦值為0,再返回判斷count<3,可以繼續while循環;如果確認標志為N,count就不滿足count<3的條件了,就會退出游戲。

此時程序為:

繼續猜的情況下:

不想繼續猜的情況下:

——for循環——

先寫一個最簡單的for循環:

上面這個for循環,從loop0打印到了loop9。

i是個臨時變量,range(10)就相當于生成一組數,(0,1,2,3,4,5,6,7,8,9),每循環一次,就取一個數,第一次是0,第二次是1,……等等,然后執行下面的循環內容,這樣這個循環就執行了10次。

把之前猜年齡(有三次機會)的while程序可以稍作修改,改成 for循環的:?

結果依然是正確的:

else什么時候執行呢?當for循環完整的走完之后走else語句。

我現在又有新的想法,之前打印的是loop0、loop1、loop2、……、loop9,現在我想隔一個打印一個,比如打印loop0,、loop2、loop4、等等,這個該怎么操作?

那隔兩個打印一個呢?

range(),括號里面的格式為:起始位置,終止為止,步長。(步長默認為1)

——continue的用法——

我們都知道,循環里面一般有break,除此之外,還有對應的一個用法就是continue。

為了了解這個循環的執行步驟,我們斷點執行一下:

①先是i等于0,走到下一步,判斷i<3

②打印輸出“loop0”

③if條件滿足,所以不會走else語句,然后往下繼續執行,打印輸出“hello”。

④第一個循環結束,返回循環。

⑤開始第二個循環,注意此時的i等于1,判斷if條件,i<3滿足。

⑥打印輸出“loop1”。

⑦if條件滿足之后,就不會再走else語句了,然后往下繼續執行,打印輸出“hello”。

同樣的,i=2時同i=1和i=0是一樣的。

⑧當i=2結束時,返回循環。

⑨i=3,判斷if條件,不滿足。走else語句,是continue,返回循環。

⑩返回循環。

(11)i=4,判斷if條件,if條件不滿足。

(12)走else語句,然后是continue,返回循環。

i=5以后都是一樣的。

我們來總結一下,break的作用是跳出整個循環,continue的作用是跳出本次循環,繼續到下一次循環。

舉個例子:

結果為:

大循環套小循環,一共打印了100次。

我們在小循環里面加一個條件判斷:

結果是這樣的:

一共打印了40次。

這樣就看出了break的作用,break的作用是跳出當前的小循環,而不是兩層循環都跳出了。

附:三次結束后詢問要不要繼續猜的for版本。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容