文章目錄
- 順序語句
- 條件語句
- 文法格式
- 代碼案例
- 縮進和代碼塊
- 空語句pass
- 循環語句
- while循環
- 文法格式
- 代碼案例
- for循環
- 文法格式
- 代碼案例
順序語句
預設情況下,Python的代碼執行順序是按照從上到下依次執行的。比如:
print('a') # a
print('b') # b
print('c') # c
上述代碼的執行結果一定是“abc”,而不會出現“bca”或“cba”等結果,這種按照順序執行的代碼就叫做順序語句。
條件語句
文法格式
标準格式
條件語句的标準格式如下:
注意事項:
- 條件表達式和else後面使用
作為結尾。:
- 對于多條件分支,不是寫作else if,而是elif。
- 命中條件後要執行的語句塊,使用縮進來區分各個代碼塊。
- Python當中的if語句也支援嵌套。
代碼示例:
choice = input('你大學期間認真學習了嗎?(輸入1表示是,輸入0表示否): ')
if choice == '1':
print('你将會考研順利或找到一個滿意的工作!')
elif choice == '0':
print('你将來會為此而後悔!')
else:
print('你的輸入有誤!')
注意: input函數的傳回值是字元串類型。
簡寫格式
條件語句的簡寫格式如下:
代碼示例:
a = 10
b = 20
# 單行if語句
if a < b: print('a is less than b')
# 單行if else語句(一個條件語句)
print('a') if a < b else print('b')
# 單行if else語句(多個條件語句)
print('a') if a < b else print('=') if a == b else print('b')
代碼案例
一、輸入一個整數,判定是否是奇數。
代碼如下:
a = int(input('請輸入一個整數: ')) # 注意将輸入的字元串轉換成int類型
if a % 2 == 1:
print('這是一個奇數')
else:
print('這是一個偶數')
說明一下: 在C/C++等其他某些語言中,負奇數取餘後得到的是-1,但在Python中負奇數取餘後得到的是1。
二、輸入一個整數,判定是正數還是負數
代碼如下:
a = int(input('請輸入一個整數: '))
if a > 0:
print('正數')
elif a < 0:
print('負數')
else:
print('0')
三、判定年份是否是閏年
代碼如下:
year = int(input('請輸入一個年份: '))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('閏年')
else:
print('平年')
縮進和代碼塊
Python中使用縮進來表示不同的代碼塊,不同級别的縮進,程式的執行效果是不同的。比如:
# 代碼1
num = input('請輸入一個整數: ')
if num == '1':
print('hello')
print('world')
# 代碼2
num = input('請輸入一個整數: ')
if num == '1':
print('hello')
print('world')
代碼說明:
- 代碼1中的兩條列印語句都具有一級縮進,是以都屬于if内的代碼塊。
- 代碼2中隻有第一條列印語句具有一級縮進,第二條列印語句沒有縮進,是以隻有第一條列印語句屬于if内的代碼塊。
空語句pass
Python文法規定,if語句、while語句、for語句、函數體、類定義等都不能為空,如果因為某些原因寫了對應無内容的語句,就需要使用pass語句來避免文法報錯。比如:
if a < b:
pass
while a < b:
pass
for x in range(10):
pass
def func():
pass
class MyClass:
pass
注意: 空語句pass并不會對程式的執行有任何影響,隻是占個位置,保持Python文法格式符合要求。
循環語句
while循環
文法格式
while循環語句的文法格式如下:
注意事項:
- 在條件表達式和else後面使用
作為結尾。:
- 命中條件後要執行的語句塊,使用縮進來區分各個代碼塊。
- Python當中的while循環也支援嵌套。
- 在循環體當中使用break語句,可以跳出循環。
- 在循環體當中使用continue語句,可以停止目前的疊代,并繼續下一次疊代。
- 如果使用了else語句,那麼當循環條件不再成立時,會執行一次else代碼塊。
代碼案例
一、列印1 - 10的整數
代碼如下:
num = 1
while num <= 10:
print(num)
num += 1
二、計算1 - 100的和
代碼如下:
sum = 0
num = 1
while num <= 100:
sum += num
num += 1
print(f'sum = {sum}') # 5050
三、計算5的階乘
代碼如下:
result = 1
num = 5
while num >= 1:
result *= num
num -= 1
print(f'result = {result}') # 120
四、求1! + 2! + 3! + 4! + 5!
代碼如下:
sum = 0
num = 1
while num <= 5:
factorResult = 1
i = 1
# 計算num的階乘
while i <= num:
factorResult *= i
i += 1
sum += factorResult # 将num的階乘累加到sum中
num += 1
print(f'sum = {sum}') # 153
for循環
文法格式
文法格式
for循環語句的文法格式如下:
注意事項:
- 可疊代對象包括清單、元組、字典、集合、字元串等。
- 在可疊代對象和else後面使用
作為結尾。:
- 命中條件後要執行的語句塊,使用縮進來區分各個代碼塊。
- Python當中的for循環也支援嵌套。
- 在循環體當中使用break語句,可以跳出循環。
- 在循環體當中使用continue語句,可以停止目前的疊代,并繼續下一次疊代。
- 如果使用了else語句,那麼當循環條件不再成立時,會執行一次else代碼塊。
range函數
range函數經常和for循環搭配使用,其可以傳回一個數字序列(可疊代對象)。
參數說明:
- 第一個參數代表的是數字序列的起始值,預設為0。
- 第二個參數代表的是數字序列的結束值(不包括結束值)。
- 第三個參數代表的是數字序列的增量值(步長),預設為1。
range函數的三種使用方式:
- range(end):傳回的數字序列為1,2,3,…,end-1。
- range(start, end):傳回的數字序列為start,start+1,start+2,…,end-1。
- range(start, end, step):傳回的數字序列為start,start+step,start+2step,…,start+nstep。
對于range函數的第三種使用方式,如果step的值為正數,那麼start+nstep < end,如果step的值為負數,那麼start+nstep > end。
示例:
range(10) # 0,1,2,3,4,5,6,7,8,9
range(1, 10) # 1,2,3,4,5,6,7,8,9
range(1, 10, 2) # 1,3,5,7,9
range(10, 1, -2) # 10,8,6,4,2
代碼案例
一、列印1 - 10的整數
代碼如下:
for i in range(1, 11):
print(i)
二、列印2,4,6,8,10
代碼如下:
for i in range(2, 12, 2):
print(i)
三、列印10 - 1的整數
代碼如下:
for i in range(10, 0, -1):
print(i)
sum= 0
for i in range(1, 101):
sum+= i
print(f'sum = {sum}') # 5050