Python流程控制
if條件分支語句
Python條件語句就是通過一條或者多條語句執行的結果(True/False)來決定執行的代碼塊。
- if單分支語句
#if邏輯語句:
# 語句(塊)
print("Hello,Python")
if True:
print("向Python致敬,我正在學習Python。")
print("Welldone.")
learning = "py"
if learning == "python":
print("呵呵,真巧,我也在學習python。")
print("Nice to meet you.")
- if雙分支語句
# if 邏輯語句1:
# 語句(塊)1
# else:
# 語句(塊)2
learning = "java"
if learning == "python":
print("呵呵,真巧,我也在學習python。")
else:
print("小明和你一樣,他也在學java")
print("Nice to meet you.")
learning = input("請輸入你學習的編程語言:")
if learning == "python":
print("呵呵,真巧,我也在學習python。")
else:
print("小明和你一樣,他也在學java")
print("Nice to meet you.")
- if多分支語句
C語言中
if
if
if
else
else
else
python:elif:else if縮寫爲elif
# if 邏輯語句1:
# 語句(塊)1
# elif 邏輯語句2:
# 語句(塊)2
# ...
# elif 邏輯語句n-1:
# 語句(塊)n-1
# else:
# 語句(塊)n
根據百分制考試成績返回五級分製成績.
90-100:A
80-90:B
70-80:C
60-70:D
0-60:E
while True:
scores = int(input("請輸入正確的分數:"))
if 100 >= scores >= 0:
break
if scores >= 90:
grade = 'A'
elif scores >= 80:
grade = 'B'
elif scores >= 70:
grade = 'C'
elif scores >= 60:
grade = 'D'
else:
grade = 'E'
print("分數等級爲:", grade)
從控制檯輸入一個三位數,判斷其是否爲水仙花數:
num1 = int(input("請輸入一個三位數:"))
if num1 == ((num1 % 10) ** 3 + (num1 // 10 % 10) ** 3 + (num1 // 100) ** 3):
print("這個數爲水仙花數")
while語句
-
循環語句
- 所謂循環,就是用來執行部分代碼在一定條件下重複執行的代碼。
格式:
while 邏輯語句:
語句(塊)
i = 0
while True:
print("I Love Python.")
i += 1
if i == 5:
break
(1)利用while來打印1-100的數字:
i = 1
while i<=100:
print(i)
i += 1
(2)利用while求1-100的和:
i = 1
sum1 = 0
while i <= 100:
sum1 += i
i += 1
print(sum1)
(3)利用while求1-100內所有的偶數和:
i = 1
sum1 = 0
while i <= 100:
if i % 2 == 0:
sum1 += i
i += 1
print(sum1)
(4)求100-999內的所有水仙花數:
i = 100
while i <= 999:
if i == ((i % 10) ** 3 + (i // 10 % 10) ** 3 + (i // 100) ** 3):
print(i)
i += 1
for循環
Python中for,可以用來遍歷任何序列(字符串,列表,元組,etc.)
格式:
for i in 序列:
語句(塊)
-
range()
range(end)#[0,end-1],end爲整數 range(start,end)#[start,end-1],start和end爲整數 range(start,end,step)#[start,start+step,start+2*step,...,end) for i in range(0, 101, 2): print(i, end=' ')
(1)利用for來打印1-100的數字:
for i in range(1, 101):
print(i)
(2)利用for求1-100的和:
sum1 = 0
for i in range(1, 101):
sum1 += i
print(sum1)
5050
(3)利用for求1-100內所有的偶數和:
sum1 = 0
for i in range(1, 101):
if i % 2 == 0:
sum1 += i
print(sum1)
2550
(4)求100-999內的所有水仙花數:
for i in range(100, 1000):
if i == (i % 10) ** 3 + (i // 10 % 10) ** 3 + (i // 100) ** 3:
print(i)
153
370
371
407
break和continue
- break用來結束一個循環,跳出循環體。
for i in range(5):
if i == 3:
break
print(i)
0
1
2
- continue終止本次循環的動作,直接進入下次循環。
for i in range(5):
if i == 3:
continue
print(i)
0
1
2
4
while…else…
count = int(input("Enter a INT:"))
while count<=5:
print(count,end=" ")
count += 1
if count == 3:
break
else:
print("這裏是else語句")
Enter a INT:2
2
for…else…
count = int(input("Enter a INT:"))
for i in range(0, count):
print(i, end=" ")
if i == 3:
break
else:
print("這裏是else語句")
Enter a INT:5
0 1 2 3
當while和for條件判斷爲False的時候執行else
while…else…,for…else…中while和else是一塊的,for和else也是一塊的。
當有break或者return的時候就會跳出while。如果沒有break或者return,不管while是否執行,都會執行else語句