1. 前言
在實際使用的過程中會有其他的問題,比如如果隻想列印str_condiion = 'I like python'中的字母,而不列印空格呢(可以考慮if判斷等)?如果列印過程中碰到字母o即結束循環?那應該怎麼做呢?
前面學習了for與while循環,也大緻了解了兩者的差異,也清楚了在不同場景下各自的優先選擇誰。在循環過程中還會有些特列出現,比如上文提到的:在循環列印str_condiion = 'I like python'時,隻列印其中的字母,而不列印空格呢(可以考慮if判斷等)?如果列印過程中碰到字母o即結束循環?那應該怎麼做呢?
可以利用之前學過的if等判斷實作,大緻邏輯如下:
while 條件變量 < str_condiion的長度:
if 條件變量 = ‘ ’ :
條件變量 = 條件變量 + 1
elif 條件變量 = ‘o’:
條件變量 = 條件變量 + str_condiion的長度
else:
列印 條件變量
條件變量 = 條件變量 + 1
那如果換成for應該怎樣寫呢?是否有更加簡潔的寫法呢?
可以使用break與continue來代替判斷:continue 語句跳出本次循環,而break跳出整個循環。比如如果遇到空格,則使用continue 跳出本次循環,如果遇到’o’則直接結束循環,不通過控制條件變量的方式來實作,可以用break,大緻如下:
while 條件變量 < str_condiion的長度:
if 條件變量 = ‘ ’ :
continue
elif 條件變量 = ‘o’:
break
else:
列印 條件變量
條件變量 = 條件變量 + 1
2. break與continue
利用while實作上述的問題,代碼如下:
可以看出空格被過濾掉,同時在遇到’python’裡的’o’直接跳出,不再列印’o’及後續的’n’,實作的邏輯就是通過int_i = str_len來控制,即:如果遇到’o’則直接将條件判斷變量賦予一個較大的值(就目前這個背景來說,直接将總大小賦予了控制變量),導緻循環失效,直接跳出循環;那用continue及break應該如何實作呢?
可以看出也能實作類似的功能,大緻的邏輯清晰嗎?看着感覺比較多餘,主要是break不再需要變量的指派,可以直接跳出循環;
那如果換成for應該如何實作呢?
是不是一下子就簡潔了很多?如果是空格則直接跳到下一次循環;如果是’o’則直接結束循環;否則就正常列印;在使用的時候需要注意避免死循環。
如果利用已學的知識計算100以内的偶數總和,你能想到有哪些實作的方法嗎?for或while?if?break?會有哪些種寫法呢?下次一起探讨。
Python系列
Python系列14:循環語句練習
python系列13:while循環
python系列12:for循環應用進階
python系列11:循環結構
Python系列10:資料處理
Pytnon系列09:Python軟體簡介與安裝(視訊)
Python系列08:elif語句
Python系列07:if嵌套語句
Python系列06:if條件語句
python系列05:運算符(2)
Python系列04:運算符(1)
Python系列03:三種辨別符
Python系列02:python資料類型
Python系列01:python安裝與主要界面
----------------------------------------------
整理不易,歡迎點亮再看!
精鼎特邀