上篇講到“回圈簡介”,內容接下:
1、while的應用
1.1 應用一:計算1-100累加和
分析:1-100的累加和,即1 + 2 + 3 + 4 +….,即前兩個數字的相加結果 + 下一個數字( 前一個數字 + 1),
i = 1
result = 0
while i <= 100:
result += i
i += 1
# 輸出5050
print(result)
注意:為了驗證程式的準確性,可以先改小數值,驗證結果正確后,再改成1-100做累加,
1.2 應用二:計算1-100偶數累加和
分析:1-100的偶數和,即 2 + 4 + 6 + 8…,得到偶數的方法如下:
- 偶數即是和2取余結果為0的數字,可以加入條件陳述句判斷是否為偶數,為偶數則累加
- 初始值為0 / 2 , 計數器每次累加2
方法一:條件判斷和2取余數則累加
# 方法一:條件判斷和2取余數為0則累加計算
i = 1
result = 0
while i <= 100:
if i % 2 == 0:
result += i
i += 1
# 輸出2550
print(result)
方法二:計數器控制
# 方法二:計數器控制增量為2
i = 0
result = 0
while i <= 100:
result += i
i += 2
# 輸出2550
print(result)
2.break和continue
break和continue是回圈中滿足一定條件退出回圈的兩種不同方式,
2.1 理解
舉例:一共吃5個蘋果,吃完第一個,吃第二個…,這里"吃蘋果"的動作是不是重復執行?
情況一:如果吃的程序中,吃完第三個吃飽了,則不需要再吃第4個和第五個蘋果,即是吃蘋果的動作停止,這里就是break控制回圈流程,即終止此回圈,
情況二:如果吃的程序中,吃到第三個吃出一個大蟲子…,是不是這個蘋果就不吃了,開始吃第四個蘋果,這里就是continue控制回圈流程,即退出當前一次回圈繼而執行下一次回圈代碼,
2.2 break實體
i = 1
while i <= 5:
if i == 4:
print(f'吃飽了不吃了')
break
print(f'吃了第{i}個蘋果')
i += 1

2.3 continue實體
i = 1
while i <= 5:
if i == 3:
print(f'大蟲子,第{i}個不吃了')
# 在continue之前一定要修改計數器,否則會陷入死回圈
i += 1
continue
print(f'吃了第{i}個蘋果')
i += 1

3. while回圈嵌套
3.1 語法
while 條件1:
條件1成立執行的代碼
......
while 條件2:
條件2成立執行的代碼
......
總結:所謂while回圈嵌套,就是一個while里面嵌套一個while的寫法,每個while和之前的基礎語法是相同的,
3.2 執行程序
當內部回圈執行完成之后,再執行下一次外部回圈的條件判斷,

3.3 while回圈嵌套應用
應用一:列印星號(正方形)
# 重復列印5行星星
j = 0
while j <= 4:
# 一行星星的列印
i = 0
while i <= 4:
# 一行內的星星不能換行,取消print默認結束符\n
print('*', end='')
i += 1
# 每行結束要換行,這里借助一個空的print,利用print默認結束符換行
print()
j += 1

應用二:列印星號(三角形)
# 重復列印5行星星
# j表示行號
j = 0
while j <= 4:
# 一行星星的列印
i = 0
# i表示每行里面星星的個數,這個數字要和行號相等所以i要和j聯動
while i <= j:
print('*', end='')
i += 1
print()
j += 1

應用三:九九乘法表
# 重復列印9行運算式
j = 1
while j <= 9:
# 列印一行里面的運算式 a * b = a*b
i = 1
while i <= j:
print(f'{i}*{j}={j*i}', end='\t')
i += 1
print()
j += 1
十三、else
回圈可以和else配合使用,else下方縮進的代碼指的是當回圈正常結束之后要執行的代碼,
1. while…else
1.1 語法
while 條件:
條件成立重復執行的代碼
else:
回圈正常結束之后要執行的代碼
1.2 示例
i = 1
while i <= 5:
print('Hello World')
i += 1
else:
print('執行完畢')

1.3 退出回圈的方式
- break終止回圈
i = 1
while i <= 5:
if i == 3:
print("提前結束")
break
print('Hello World')
i += 1
else:
print('執行完畢')

所謂else指的是回圈正常結束之后要執行的代碼,即如果是break終止回圈的情況,else下方縮進的代碼將不執行,
- continue控制回圈
i = 1
while i <= 5:
if i == 3:
print("打斷一下")
i += 1
continue
print('Hello World')
i += 1
else:
print('執行完畢')

因為continue是退出當前一次回圈,繼續下一次回圈,所以該回圈在continue控制下是可以正常結束的,當回圈結束后,則執行了else縮進的代碼,
2. for…else
2.1 語法
for 臨時變數 in 序列:
重復執行的代碼
...
else:
回圈正常結束之后要執行的代碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/220351.html
標籤:其他
上一篇:openvn 安裝和配置
