小白學Python(三)------迴圈
一、while迴圈
<1> while迴圈的格式
while 條件:
條件滿足時,做的事情1
條件滿足時,做的事情2
條件滿足時,做的事情3
…
demo:
i = 0
while i < 5:
print(“當前是第%d次執行迴圈” % (i + 1))
print(“i=%d” % i)
i+=1
結果:
當前是第1次執行迴圈
i=0
當前是第2次執行迴圈
i=1
當前是第3次執行迴圈
i=2
當前是第4次執行迴圈
i=3
當前是第5次執行迴圈
i=4
二、while迴圈應用
- 計算1~100的累積和(包含1和100)
參考程式碼如下:
i = 1
sum = 0
while i <= 100:
sum = sum + i
i += 1
print(“1~100的累積和為:%d” % sum) - 計算1~100之間偶數的累積和(包含1和100)
參考程式碼如下:
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum = sum + i
i+=1
print(“1~100的累積和為:%d” % sum)
三、break和continue - break
break 會立即終止迴圈,跳轉到迴圈之後開始執行
i = 10
while i > 0:
print(“媽,還要我刷啊~~~~~~~~~”)
if i == 5:
print(‘好了,不用刷了’)
break
print(“正在刷 %d 個碗” % i)
i -= 1
print(‘程式結束’)
執行結果:
媽,還要我刷啊~~~~~~~~~
正在刷 10 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 9 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 8 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 7 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 6 個碗
媽,還要我刷啊~~~~~~~~~
好了,不用刷了
程式結束
2. continue
continue 會立即結束當前這一次迴圈,跳轉到下一輪迴圈的條件判斷
i = 10
while i > 0:
print(“媽,還要我刷啊~~~~~~~~~”)
if i == 5:
print(‘好了,不用刷了’)
i -= 1 # continue 之前要注意修改 i 的值,否則容易導致死迴圈
continue
print(“正在刷 %d 個碗” % i)
i -= 1
print(‘程式結束’)
執行結果:
媽,還要我刷啊~~~~~~~~~
正在刷 10 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 9 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 8 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 7 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 6 個碗
媽,還要我刷啊~~~~~~~~~
好了,不用刷了
媽,還要我刷啊~~~~~~~~~
正在刷 4 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 3 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 2 個碗
媽,還要我刷啊~~~~~~~~~
正在刷 1 個碗
程式結束
3. 注意點
break/continue只能用在迴圈中,除此以外不能單獨使用
break/continue在巢狀迴圈中,只對最近的一層迴圈起作用
三、while迴圈巢狀
<1>while巢狀的格式
while 條件1:
條件1滿足時,做的事情1
條件1滿足時,做的事情2
條件1滿足時,做的事情3
…
while 條件2:
條件2滿足時,做的事情1
條件2滿足時,做的事情2
條件2滿足時,做的事情3
…
<2>while巢狀應用一
要求:列印如下圖形:
*
參考程式碼:
i = 1
while i <= 5:
j = 1
while j <= i:
print("* “, end = ‘’)
j += 1
print(”\n")
i += 1
<3> while巢狀應用二:九九乘法表
參考程式碼:
i = 1
while i<=9:
j=1
while j<=i:
print("%d*%d=%-2d " % (j, i, i*j), end = ‘’)
j+=1
print(’\n’)
i+=1
四、for迴圈
像while迴圈一樣,for可以完成迴圈的功能。
在Python中 for迴圈可以遍歷任何序列的專案,如一個列表或者一個字串等。
for迴圈的格式:
for 臨時變數 in 列表或者字串等可迭代物件:
迴圈滿足條件時執行的程式碼
demo:
name = ‘itheima’
for x in name:
print(x)
執行結果如下:
i
t
h
e
i
m
a