Python學習day06-流程控制之while和for循環while循環1. 語法2. while+break,while+continue3. while的嵌套for循環1. 語法2. for+break,for+continue3. 小實例,for循環實現loading一個很是有趣的\r
Tips:html
在循環中,break
語句能夠提早退出循環,並且不會自動運行下一次循環,而continue
則是跳出這次循環,繼續進行下一次循環。具體示例以下代碼:node
xxxxxxxxxx
n = 1
while n <= 10 :
print(n,end = '')
n = n+1
if n == 5:
break
print('END')
這段代碼的執行結果就是python
1234END
web
顯然就是到n == 5
的時候遇到了break,會跳出循環,並不在執行。windows
再來看一個continue的例子app
xxxxxxxxxx
n = 1
while n <= 10 :
n = n+1
if n == 5 :
continue
print(n)
print('END')
上面這段代碼的運行結果就是less
23467891011END
ide
顯然,沒有5,即n = 5
的時候執行了continue,跳過了下面的print(n),因此沒打印5,可是會繼續執行循環,因此5以後的值仍是會打印出來。因此continue的做用便是提早結束本輪循環,繼續執行下一輪循環。svg
for循環和while循環的一個比較大的不一樣就是while的循環次數須要本身控制,可是for的循環次數是按照索引取值來判斷的。因此while有可能會進入死循環,而for不會,因此用for來寫循環代碼更穩定。函數
可是for也有不足,while循環內能夠加世間萬物,即全部的數據,但凡是有布爾值的,均可以放在while循環裏,可是for只能對容器內的數據類型循環,即字符串,列表和字典,而且能夠迭代,別的數據類型是不能做爲for的循環條件的。
例程以下:
xxxxxxxxxx
for i in range(1, 10): # range顧頭不顧尾
print(i)
i
能夠不使用,其只是在循環中其一個循環標籤的做用,即使輸出中沒有i
也不會影響循環須要注意的是,該實例只能在Jupyter
中實現,pycharm
因爲其優化的功能並不能看出loading後面省略號緩緩出現這一效果,而是在延遲事後一次性出現。
例程以下:
xxxxxxxxxx
import time
print('Loading', end='')
for i in range(6):
print(".", end='')
time.sleep(0.2)
time.sleep
即爲time模塊自帶的延時函數,後面爲延時時間,往後在不一樣的場景中能夠用獲得。\r
在咱們平常碼代碼的過程當中,print用的再多不過了,但print裏的一些參數相信你們有的仍是不甚瞭解,今天要說的是\r
這樣一個小參數
xxxxxxxxxx
print('\rXu')
上述代碼的輸出結果就是Xu,沒有任何問題,那麼他的特殊性在哪呢?
再來一段代碼
x
print('\rXu')
print('\rXu')
print('\rXu')
print('\rXu')
猜一下結果是什麼?沒錯,結果就是
Xu
Xu
Xu
Xu
仍是沒有就職何特殊的,莫不成筆者在耍大家?
不不不,再看一段
x
print('\rXu',end = '')
print('\rXu',end = '')
print('\rXu',end = '')
print('\rXu',end = '')
咱們都知道end = ‘’
的定義方法是讓該行輸出以後不換行,因此,上面這段程序結果是什麼?
Xu
沒錯,你沒有看錯,只有一個Xu
,爲何呢?
結果就是\r
加在print
當中,原位打印的意思,也就是覆蓋上一次打印的位置,並且僅限當前行。因此這就是爲何在有換行的狀況下\r
並無什麼效果。
咱們能夠來看下print
的源碼
xxxxxxxxxx
def print(self, *args, sep=' ', end='\n', file=None):
上述代碼咱們不難理解,若是沒有end = ‘’
,那麼他就是\n
,也就是換行的意思。
哇,恍然大明白。
循環是讓計算機作重複任務的有效的方法。
break
語句能夠在循環過程當中直接退出循環,而continue
語句能夠提早結束本輪循環,並直接開始下一輪循環。這兩個語句一般都必須配合if
語句或者while
語句使用。
要特別注意,不要濫用break
和continue
語句。break
和continue
會形成代碼執行邏輯分叉過多,容易出錯。大多數循環並不須要用到break
和continue
語句,上面的兩個例子,均可以經過改寫循環條件或者修改循環邏輯,去掉break
和continue
語句。
有些時候,若是代碼寫得有問題,會讓程序陷入「死循環」,也就是永遠循環下去。這時能夠用Ctrl+C
退出程序,或者強制結束Python進程。