Vincent
2022-02-21 07:58老師,我把課程里面的continue語句調(diào)換了下位置,為何這里chosedstock還是4個?continue不是跳過當(dāng)前的循環(huán)嗎?還是說因?yàn)楫?dāng)前的條件是并列的?而break語句調(diào)換不影響,能否解釋下?
所屬:AQF > AAQF 視頻位置 相關(guān)試題
來源: 視頻位置 相關(guān)試題
1個回答
高志萍助教
2022-02-21 10:02
該回答已被題主采納
同學(xué)你好,
break是停止,也就是如果出現(xiàn)了約定條件,就停止整個循環(huán)
continue是跳過,循環(huán)不停止。
所以不管break在什么位置,只要出現(xiàn)了就會停止
但是continue的位置就有關(guān)系了,如果是continue在前的話,那先觸發(fā)‘跳過’的指令,那continue后的東西就不執(zhí)行了,所以只要chosedstock里的股票數(shù)量到了2,那后面的都跳過,(雖然和break的結(jié)果一樣,但是流程不同,break是到了2停止,continue是到了2后還在循環(huán),只是每次循環(huán)到了2的時候,就跳過)
如果continue在后面,那是先continue后是沒有東西了,所以就沒有跳過任何東西,所以這個continue是沒有作用的,因?yàn)檠h(huán)沒有因?yàn)榧s定條件終止。
請看下面的圖
在原有的代碼下,分別加入在限制數(shù)量的下面增加else:print(stock),用來打印那個股票在循環(huán)
并在chosed_stock添加的下面增加print(stock),這樣就能看出每次循環(huán)后添加的股票了
這樣對比理解,會理解continue在下的時候,當(dāng)股票數(shù)量為2的時候,跳過的是else:print(stock)這個命令
而continue在上的時候,是股票數(shù)量為2的時候,跳過的是chosed_stock添加的命令
