一、while循環的基本語法
在Python中,while循環的語法非常簡單,基本格式如下:
while 條件:
循環體
其中,條件是一個布爾表達式,表示循環的條件;循環體是要重複執行的代碼塊。
while循環執行的過程如下:
- 首先判斷條件是否為True,如果為False,則跳過循環體,直接執行循環後面的代碼;
- 如果條件為True,則執行循環體中的代碼;
- 執行完循環體後,再次判斷條件是否為True,如果為True,則再次執行循環體,否則跳過循環體;
- 重複上述過程,直到條件為False為止。
通過while循環,我們可以很方便地對某個代碼塊進行重複執行,直到滿足某個條件為止。
下面是一個簡單的例子,使用while循環實現1到5的累加:
n = 1
sum = 0
while n <= 5:
sum += n
n += 1
print(sum)
輸出結果為:
15
在上面的代碼中,首先設置了n和sum兩個變數分別用於存儲當前的數值和總和。然後,在while循環中,我們不斷將n的值加1,並將其加入到sum中,直到n的值大於5為止。
二、while循環的高級用法
1. while循環嵌套
在Python中,while循環也可以進行嵌套。嵌套的while循環執行過程與單層的while循環相同,只是在循環體中又包含了一層循環。
下面是一個嵌套循環的例子,實現了1~4的乘法表:
i = 1
while i <= 4:
j = 1
while j <= i:
print(f"{i}*{j}={i*j}", end="\t")
j += 1
print()
i += 1
輸出結果為:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
在上面的代碼中,外層的while循環用於循環行數,內層的while循環用於循環列數。在內部循環中,我們使用了一個參數end=”\t”,表示在每個元素後面加上一個製表符,以便列印出美觀的乘法表。
2. 程序中加入用戶交互
在實際開發中,我們通常會希望與用戶進行交互。可以使用while循環來實現這個需求,在用戶輸入不正確的情況下,一直提示用戶重新輸入。
下面是一個例子,實現了一個加法運算器:
print("=======計算器=======")
while True:
num1 = float(input("請輸入第一個數:"))
num2 = float(input("請輸入第二個數:"))
op = input("請輸入運算符(+、-、*、/):")
if op == "+":
print(f"{num1}+{num2}={num1+num2}")
elif op == "-":
print(f"{num1}-{num2}={num1-num2}")
elif op == "*":
print(f"{num1}*{num2}={num1*num2}")
elif op == "/":
if num2 == 0:
print("除數不能為0")
else:
print(f"{num1}/{num2}={num1/num2}")
else:
print("運算符輸入錯誤,請重新輸入")
choice = input("是否繼續運算?(Y/N):")
if choice != "Y" and choice != "y":
break
print("謝謝使用!")
在代碼中,我們首先輸出了一個簡單的歡迎語句。然後,使用while True語句進行無限循環,只有當用戶輸入N或n時,才會停止循環。
在循環體中,首先使用input()函數接受用戶的輸入,並使用float()函數將字元串轉換為實數。然後,使用if-elif-else語句進行運算,根據不同的運算符執行不同的操作。如果用戶輸入的是錯誤的運算符,那麼程序會輸出錯誤提示信息,並要求用戶重新輸入。
在每次運算後,程序會詢問用戶是否繼續運算。如果用戶輸入的是N或n,則使用break語句退出循環,輸出一條感謝消息。
3. break和continue語句的使用
Python中的break和continue語句可以用於控制循環的流程。其中,break語句用於結束當前循環,continue語句用於跳過當前的循環。
下面是一個例子,使用break語句跳出循環:
n = 0
while True:
print(n)
n += 1
if n == 5:
break
print("循環結束")
輸出結果為:
0
1
2
3
4
循環結束
在上面的代碼中,我們使用了一個while True語句進行無限循環。然後,在每個循環中列印當前的n值,並將其加1。如果n的值等於5,則使用break語句跳出循環。
下面是一個例子,使用continue語句跳過循環:
n = 0
while n < 5:
n += 1
if n == 3:
continue
print(n)
print("循環結束")
輸出結果為:
1
2
4
5
循環結束
在上面的代碼中,我們使用一個while循環從1到5循環。在循環體中,如果n的值等於3,則使用continue語句跳過循環體中後續的代碼,直接執行下一輪循環。
三、總結
通過對Python中while循環的詳細講解,我們了解到了while循環的基本語法、高級用法以及與用戶交互、break/continue語句的配合使用等方面的知識。在實際開發中,我們可以根據具體的需求,靈活使用while循環來完成各種任務。
下面是本文中所有代碼的完整示例:
# 累加1~5
n = 1
sum = 0
while n <= 5:
sum += n
n += 1
print(sum)
# 乘法表
i = 1
while i <= 4:
j = 1
while j <= i:
print(f"{i}*{j}={i*j}", end="\t")
j += 1
print()
i += 1
# 加法運算器
print("=======計算器=======")
while True:
num1 = float(input("請輸入第一個數:"))
num2 = float(input("請輸入第二個數:"))
op = input("請輸入運算符(+、-、*、/):")
if op == "+":
print(f"{num1}+{num2}={num1+num2}")
elif op == "-":
print(f"{num1}-{num2}={num1-num2}")
elif op == "*":
print(f"{num1}*{num2}={num1*num2}")
elif op == "/":
if num2 == 0:
print("除數不能為0")
else:
print(f"{num1}/{num2}={num1/num2}")
else:
print("運算符輸入錯誤,請重新輸入")
choice = input("是否繼續運算?(Y/N):")
if choice != "Y" and choice != "y":
break
print("謝謝使用!")
# break語句
n = 0
while True:
print(n)
n += 1
if n == 5:
break
print("循環結束")
# continue語句
n = 0
while n < 5:
n += 1
if n == 3:
continue
print(n)
print("循環結束")
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/239271.html