最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一篇文章搞懂Python程序流程控制結構

 更新時間:2022年09月23日 10:49:32   作者:北極的三哈  
這篇文章主要給大家介紹了關于Python程序流程控制結構的相關資料,本節(jié)學習了Python程序的控制結構之順序結構、分支結構、循環(huán)結構,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

一、程序的組織結構

1.三種基本結構

1996年,計算機科學家證明了這樣的事實:任何簡單或復雜的算法都可以由順序結構、選擇結構循環(huán)結構這三種基本結構組合而成

2.程序流程圖

程序流程圖是一種表達程序控制結構的方式,主要用于關鍵部分的程序分析和過程描述,由一系列圖形、流程線和文字說明等組成。

二、順序結構

程序按照線性順序依次執(zhí)行的一種運行方式。

例:把大象裝冰箱分幾步:

# 把大象裝冰箱分幾步
print('--------程序開始--------')
print('1.把冰箱門打開')
print('2.把大象裝進冰箱')
print('3.關上冰箱門')
print('--------程序結束--------')

二、選擇結構(分支結構)

程序根據(jù)判斷條件的布爾值選擇性地執(zhí)行部分代碼明確的讓計算機知道在什么條件下,該去做什么

1.單分支 if

中文語義:如果......就......

語法結構:

if 條件表達式:
    條件執(zhí)行體

if條件語句:判斷一次,條件為True時執(zhí)行一次

# if條件語句 判斷一次 條件為True時執(zhí)行一次

money = 100
s = int(input('請輸入取款金額:'))
if s <= 100:
    money = money - s
    print('取款成功,余額為', money)

2.雙分支 if…else

中文語義:如果......不滿足......就......

語法結構:

if 條件表達式:
  條件執(zhí)行體
else:
  條件執(zhí)行體2

雙分支結構if...else,二選一執(zhí)行

'''雙分支結構if...else,二選一執(zhí)行'''

# 從鍵盤輸入一個整數(shù),編寫程序讓計算機判斷是奇數(shù)還是偶數(shù)
num = int(input('請輸入一個整數(shù):'))
if num % 2 == 0:
    print(num, '是偶數(shù)')
else:
    print(num, '是奇數(shù)')

3.多分支 if…elif…else

中文語義:如果......就......如果......不滿足......就......

語法結構:

if 條件表達式:
   條件執(zhí)行體
elif   條件表達式:
   條件執(zhí)行體
elif   條件表達式:
  條件執(zhí)行體
elif   條件表達式:
  條件執(zhí)行體
else:
  條件執(zhí)行體

例:
從鍵盤錄入一個整數(shù)成績:
90-100 : A
80-89 : B
70-79 : C
60-69 : D
0-59 :E
小于0或大于100 不及格

代碼:

num = int(input('從鍵盤輸入一個成績:'))
if 90 <= num <= 100:
    print('A')
elif 80 <= num <= 89:
    print('B')
elif 70 <= num <= 79:
    print('C')
elif 60 <= num <= 69:
    print('D')
elif 0 <= num <= 59:
    print('E')
else:
    print('不及格')

4. 嵌套if的使用

語法結構

if 條件表達式1:
    if 內(nèi)層條件表達式:
        內(nèi)層執(zhí)行體1
    else:
    內(nèi)層執(zhí)行體2
else:
    條件執(zhí)行體

例:商場消費

會員:
    >=200    8折
    >=100    9折
    <100     不打折
非會員: 
    >=200    9.5折
    <100     不打折

代碼:

answer = input('您是會員嗎?y/n')
money = float(input('請輸入您的購物金額:'))
# 外層判斷是否是會員
if answer == 'y':  # 會員
    if money >= 200:
        print('打8折,付款金額為:', money*0.8)
    elif money >= 100:
        print('打9折,付款金額為:', money*0.9)
    else:
        print('不打折,付款金額為:', money)
else:  # 非會員
    if money >= 200:
        print('打9.5折,付款金額為:', money*0.95)
    else:
        print('不打折,付款金額為:', money)

5.三元表達式

語法結構x if 判斷條件 else y

運算規(guī)則:如果判斷條件的布爾值為True,條件表達式的返回值為x,否則條件表達式的返回值為False

# 條件表達式   x if 判斷條件 else y
a = int(input('請輸入第一個整數(shù):'))
b = int(input('請輸入第二個整數(shù):'))

'''if a >= b:
    print(a, '>=', b)
else:
    print(a, '<', b)'''


# 條件表達式
print(str(a) + '小于' + str(b)) if a < b else (str(a) + '大于' + str(b))

6.pass語句

pass語句什么都不做,只是一個占位符,用在語法上需要語句的地方

def fun(a, b):
    pass

什么時候使用pass語句:先搭建語法結構,還沒想好代碼怎么寫的時候 。

pass語句與哪些語句一起使用:

  • if語句的條件執(zhí)行體
  • for-in語句的循環(huán)體
  • 定義函數(shù)def時的函數(shù)體
a = 1
b = 2

if a < b:
    pass


for i in range(10):
    pass


def fun(a, b):
    pass

三、循環(huán)結構

反復做同一件事情的情況,稱為循環(huán),Python語言的循環(huán)結構包括兩種:遍歷循環(huán)無限循環(huán)。遍歷循環(huán)使用保留字forin依次提取遍歷結構各元素進行處理;無限循環(huán)使用保留字while根據(jù)判斷條件執(zhí)行程序

1.range()函數(shù)的使用

range():用于生成一個整數(shù)序列

創(chuàng)建range對象的三種方式

代碼:

# 第一種創(chuàng)建方式  range(stop)
range(10)
print(range(10))  # range(0,10) 返回值是一個迭代器對象 默認從0開始,默認步長為1
print(list(range(10)))  # 用于查看range對象中的整數(shù)序列 list-->列表

# 第二種創(chuàng)建方式 range(start, stop)
print(range(0, 10))

# 第三種創(chuàng)建方式 range(start,stop,step)
print(range(0, 10, 1))

range()函數(shù)的返回值是一個迭代器對象

range類型的優(yōu)點 :不管range對象表示的整數(shù)序列有多長,所有range對象占用的內(nèi)存空間都是相同的,因為僅僅需要存儲start,stop和step,只有當用到range對象時,才會去計算序列中的相關元素

'''內(nèi)置函數(shù) range(start(開始)未指定從0開始, stop(結束), step(步長)未指定步長為1)'''
r = range(1, 10, 2)
print(r)
print(list(r))  # 列表 [1, 3, 5, 7, 9]
print(tuple(r))  # 元組 (1, 3, 5, 7, 9)
print(set(r))  # 字典 {1, 3, 5, 7, 9}

innot in 判斷整數(shù)序列中是否存在(不存在)指定的整數(shù)

'''判斷指定整數(shù)在序列中是否存在 in, not in'''
print(3 in r)  # True
print(4 in r)  # False
print(3 not in r)  # False
print(4 not in r)  # True

for value in range(10):
    print(value, end=' ')

2.遍歷循環(huán)for-in

for-in循環(huán)

  • in表達從(字符串、序列等)中依次取值,又稱為遍歷
  • for-in遍歷的對象必須是可迭代對象

for-in的語法結構

for  自定義的變量  in 可迭代對象:
      循環(huán)體

for-in的執(zhí)行圖

# for in循環(huán)
# in 表達是依次 從 (字符串,序列等) 中依次取值,又稱遍歷
# for in遍歷對象必須是可迭代對象

'''for in 語法結構'''
# for 自定義變量 in 可迭代對象:
#    循環(huán)體

for i in 'hello':
    print(i, end=' ')
print('')
for i in range(10):
    print(i, end=' ')
print('')
# 在循環(huán)體中如果不需要使用到自定義變量,可將自定義變量寫為下劃線('_')
for _ in range(3):   # 3表示次數(shù)
    print('hello')

使用for循環(huán) 計算1-100之間的偶數(shù)和

# 使用for循環(huán) 計算1-100之間的偶數(shù)和
sum = 0
for item in range(101):
    if item % 2 == 0:
        sum += item
print('1-100之間的偶數(shù)和為:', sum)

輸出100-999之間的水仙花數(shù)

'''輸出100-999之間的水仙花數(shù)  這個數(shù)的個位上的三次方 + 十位上的三次方 + 百位上的三次方  = 這個數(shù)'''
for item in range(100, 1000):
    ge = item % 10
    shi = item % 100 // 10  # item//10%10
    bai = item // 100
    if item == ge**3+shi**3+bai**3:
        print(item)

3.無限循環(huán)while

語法結構

while  條件表達式:
    條件執(zhí)行體(循環(huán)體)

四步循環(huán)法:

  • 初始化變量
  • 條件判斷
  • 條件執(zhí)行體(循環(huán)體)
  • 改變變量
  • 打印輸出

計算0-4之間的累加和

a = 0  # 1.初始化變量
s = 0
while a <= 4:  # 2.條件判斷
    s += a  # 3.條件執(zhí)行體
    a += 1  # 4.改變變量
    print(s)  # 5.打印輸出

選擇結構的if與循環(huán)結構while的區(qū)別

  • If是判斷一次,條件為True執(zhí)行一行
  • while是判斷N+1次,條件為True執(zhí)行N

4.循環(huán)控制break和continue

循環(huán)結構有兩個輔助循環(huán)控制的保留字:breakcontinue。

4.1break

break用來跳出最內(nèi)層forwhile循環(huán),脫離該循環(huán)后程序繼續(xù)執(zhí)行循環(huán)后續(xù)代碼,通常與 分支結構 if 一起使用。

例:從鍵盤錄入密碼,最多錄入三次,如果正確就結束循環(huán)

# for 循環(huán)
for _ in range(3):  # range()函數(shù)可以用作for循環(huán)的循環(huán)次數(shù) 3 表示for執(zhí)行了3次
    pwd = '888'
    a = input('請輸入密碼:')
    if a == pwd:
        print('密碼正確')
        break
    else:
        print('密碼錯誤,請重新輸入密碼')

# while 循環(huán),四步循環(huán)法
a = 0
while a < 3:
    '''條件執(zhí)行體(循環(huán)體)'''
    b = '888'
    pwd = input('請輸入密碼:')
    if pwd == b:
        print('密碼正確')
        break
    else:
        print('密碼錯誤')
    a += 1

4.2continue

continue語句用來結束當次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但不跳出當前循環(huán),進入下一次循環(huán),通常與分支結構 if 一起使用

例:要求輸出1-50-之間所有5的倍數(shù)

# for 循環(huán)
for i in range(1, 51):
    if i % 5 == 0:
        print(i)

# while 循環(huán)
a = 1
while a <= 50:
    if a % 5 == 0:
        print(a)
    a += 1

# continue 語句
for item in range(1, 51):
    if item % 5 != 0:
        continue
    print(item)

5.嵌套循環(huán)

循環(huán)結構中又嵌套了另外的完整的循環(huán)結構,其中內(nèi)層循環(huán)做為外層循環(huán)的循環(huán)體執(zhí)行。

例1:打印一個三行四列矩形

for _ in range(3):
    for _ in range(4):
        print('-', end='\t')
    print()

例2:輸出乘法口訣表

for i in range(1, 10):
    for j in range(1, i+1):
        print(i, 'x', j, '=', i*j, end='\t')
    print()

四、總結

到此這篇關于Python程序流程控制結構的文章就介紹到這了,更多相關Python程序流程控制結構內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

东莞市| 治县。| 陵川县| 蓬安县| 苍山县| 恩平市| 田林县| 石泉县| 德兴市| 鄂尔多斯市| 方山县| 浦县| 文昌市| 巴塘县| 新宁县| 鞍山市| 绥芬河市| 石阡县| 松桃| 葵青区| 土默特左旗| 望奎县| 吉安市| 肃宁县| 胶州市| 东丰县| 东源县| 鹤山市| 元朗区| 大关县| 泸水县| 广昌县| 白银市| 海原县| 喀喇沁旗| 苏尼特右旗| 克拉玛依市| 宜良县| 民县| 杭锦后旗| 额济纳旗|