真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python程序控制結(jié)構(gòu)是什么

這篇“Python程序控制結(jié)構(gòu)是什么”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python程序控制結(jié)構(gòu)是什么”文章吧。

我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、洪澤ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的洪澤網(wǎng)站制作公司

1 條件測(cè)試

 比較運(yùn)算
a = 10
b = 8
print(a > b)     # 大于
print(a < b)     # 小于
print(a >= b)    # 大于等于
print(a <= b)    # 小于等于
print(a == b)    # 等于
print(a != b)    # 不等于
True
False
True
False
False
True
  • 非空

ls = [1]
if ls:            # 數(shù)據(jù)結(jié)構(gòu)不為空、變量不為0、None、False 則條件成立
    print("非空")
else:
    print("空的")
非空
邏輯運(yùn)算
  • 與、或、非

a = 10
b = 8
c = 12
print((a > b) and (b > c))    # 與
print((a > b) or (b > c))     # 或
print(not(a > b))             # 非
False
True
False
  • 復(fù)合邏輯運(yùn)算的優(yōu)先級(jí)  非 > 與 > 或

print(True or True and False)
True
print((True or True) and False)
False
 存在運(yùn)算

元素 in 列表/字符串

cars = ["BYD", "BMW", "AUDI", "TOYOTA"]
print("BMW" in cars)
print("BENZ" in cars)
True
False

元素 not in 列表/字符串

print("BMW" not in cars)
print("BENZ" not in cars)
False
True

2 分支結(jié)構(gòu)——if語句

單分支

模板 注意有“:”    if 條件:  ??縮進(jìn)的代碼塊

age = 8
if age > 7:
    print("孩子,你該上學(xué)啦!")
孩子,你該上學(xué)啦!
二分支

模板     if 條件:  ??縮進(jìn)的代碼塊  else:  ??縮進(jìn)的代碼塊

age = 6
if age > 7:
    print("孩子,你該上學(xué)啦!")
else:
    print("再玩兩年泥巴!")
再玩兩年泥巴!
 多分支

模板     if 條件:  ??縮進(jìn)的代碼塊  elif 條件:  ??縮進(jìn)的代碼塊  elif 條件:  ??縮進(jìn)的代碼塊  ...  else:  ??縮進(jìn)的代碼塊

age = 38
if age < 7:
    print("再玩兩年泥巴")
elif age < 13:
    print("孩子,你該上小學(xué)啦")
elif age < 16:
    print("孩子,你該上初中了")
elif age < 19:
    print("孩子,你該上高中了")
elif age < 23:
    print("大學(xué)生活快樂")
elif age < 60:
    print("辛苦了,各行各業(yè)的工作者們")
else:     # 有時(shí)為了清楚,也可以寫成elif age >= 60:
    print("享受退休生活吧")
辛苦了,各行各業(yè)的工作者們

不管多少分支,最后只執(zhí)行一個(gè)分支

 嵌套語句

題目:年滿18周歲,在非公共場(chǎng)合方可抽煙,判斷某種情形下是否可以抽煙

age = eval("請(qǐng)輸入年齡"))
if age > 18:
    is_public_place = bool(eval("公共場(chǎng)合請(qǐng)輸入1,非公共場(chǎng)合請(qǐng)輸入0")))
    print(is_public_place)
    if not is_public_place:
        print("可以抽煙")
    else:
        print("禁止抽煙")        
else:
    print("禁止抽煙")
請(qǐng)輸入年齡19
公共場(chǎng)合請(qǐng)輸入1,非公共場(chǎng)合請(qǐng)輸入01
True
禁止抽煙

3 遍歷循環(huán)——for 循環(huán)

主要形式
  • for元素in可迭代對(duì)象:  執(zhí)行語句

 執(zhí)行過程
  • 從可迭代對(duì)象中,依次取出每一個(gè)元素,并進(jìn)行相應(yīng)的操作

1、直接迭代——列表[ ]、元組( )、集合{ }、字符串" "

graduates = ("李雷", "韓梅梅", "Jim")
for graduate in graduates:
    print("Congratulations, "+graduate)
Congratulations, 李雷
Congratulations, 韓梅梅
Congratulations, Jim

2、變換迭代——字典

students = {201901: '小明', 201902: '小紅', 201903: '小強(qiáng)'}
for k, v in students.items():
    print(k, v)
for student in students.keys():
#for student in students 同樣是迭代鍵key
    print(student)
201901 小明
201902 小紅
201903 小強(qiáng)
201901
201902
201903

3、range()對(duì)象

res=[]
for i in range(10000):
    res.append(i**2)
print(res[:5])
print(res[-1])
[0, 1, 4, 9, 16]
99980001
res = []
for i in range(1, 10, 2):
    res.append(i ** 2)
print(res)
[1, 9, 25, 49, 81]
循環(huán)控制:break 和 continue
  • break 結(jié)束整個(gè)循環(huán)

product_scores = [89, 90, 99, 70, 67, 78, 85, 92, 77, 82] # 1組10個(gè)產(chǎn)品的性能評(píng)分
 # 如果低于75分的超過1個(gè),則該組產(chǎn)品不合格
i = 0
for score in product_scores:
    if score < 75:
        i += 1 
    if i == 2:
        print("產(chǎn)品抽檢不合格")
        break
產(chǎn)品抽檢不合格
  • continue 結(jié)束本次循環(huán)

product_scores = [89, 90, 99, 70, 67, 78, 85, 92, 77, 82] # 1組10個(gè)產(chǎn)品的性能評(píng)分
 # 如果低于75分,輸出警示
print(len(product_scores))
for i in range(len(product_scores)):
    if product_scores[i] >= 75:
        continue 
    print("第{0}個(gè)產(chǎn)品,分?jǐn)?shù)為{1},不合格".format(i, product_scores[i]))
10
第3個(gè)產(chǎn)品,分?jǐn)?shù)為70,不合格
第4個(gè)產(chǎn)品,分?jǐn)?shù)為67,不合格
for 與 else的配合

如果for 循環(huán)全部執(zhí)行完畢,沒有被break中止,則運(yùn)行else塊

product_scores = [89, 90, 99, 70, 67, 78, 85, 92, 77, 82] # 1組10個(gè)產(chǎn)品的性能評(píng)分
 # 如果低于75分的超過1個(gè),則該組產(chǎn)品不合格
i = 0
for score in product_scores:
    if score < 75:
        i+=1 
    if i == 2:
        print("產(chǎn)品抽檢不合格")
        break
else:
    print("產(chǎn)品抽檢合格")
產(chǎn)品抽檢不合格

4 無限循環(huán)——while 循環(huán)

為什么要用while 循環(huán)
  • 經(jīng)典題目:猜數(shù)字

albert_age = 18
#第1次
guess = int(input(">>:"))
if guess > albert_age :
    print("猜的太大了")
elif guess < albert_age :
    print("猜的太小了")
else:
    print("猜對(duì)了")
#第2次
guess = int(input(">>:"))
if guess > albert_age :
    print("猜的太大了")
elif guess < albert_age :
    print("猜的太小了")
else:
    print("猜對(duì)了")

代碼可能需要重復(fù)執(zhí)行,可是又不知道具體要執(zhí)行多少次

 while循環(huán)的一般形式
主要形式:
  • while判斷條件:  執(zhí)行語句  條件為真,執(zhí)行語句 條件為假,while 循環(huán)結(jié)束

albert_age = 18 
guess = int(input(">>:"))
while guess != albert_age: 
    if guess > albert_age :
        print("猜的太大了.")
    elif guess < albert_age :
        print("猜的太小了")
    guess = int(input(">>:"))
print("猜對(duì)了")
>>:20
猜的太大了.
>>:18
猜對(duì)了
while與風(fēng)向標(biāo)
albert_age = 18 
flag = True     # 布爾類型
while flag:
    guess = int(input(">>:"))
    if guess > albert_age :
        print("猜的太大了")
    elif guess < albert_age :
        print("猜的太小了")
    else:
        print("猜對(duì)了")
        flag = False
flag=True  
while flag:  
    pass  
    while flag:  
        pass  
        while flag:     
            flag=False     # 循環(huán)逐層判斷,當(dāng)flag為false時(shí),循環(huán)會(huì)逐層退出
while 與循環(huán)控制 break、continue
albert_age = 18 
while True:
    guess = int(input(">>:"))
    if guess > albert_age :
        print("猜的太大了")
    elif guess < albert_age :
        print("猜的太小了")
    else:
        print("猜對(duì)了...")
        break    # 當(dāng)訴求得到滿足,就跳出循環(huán)

輸出10以內(nèi)的奇數(shù)

i = 0
while i < 10:
    i += 1
    if i % 2 == 0:
        continue       # 跳出本次循環(huán),進(jìn)入下一次循環(huán)
    print(i)
1
3
5
7
9
 while與else

如果while 循環(huán)全部執(zhí)行完畢,沒有被break中止,而是條件不再滿足了而中止,則運(yùn)行else塊

count = 0
while count <= 5 :
    count += 1
    print("Loop",count)
else:
    print("循環(huán)正常執(zhí)行完啦")
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循環(huán)正常執(zhí)行完啦
 再看兩個(gè)例子

應(yīng)用:刪除列表中的特定值

pets = ["dog", "cat", "dog", "pig", "goldfish", "rabbit", "cat"]
while "cat" in pets:
    pets.remove("cat")
pets
['dog', 'dog', 'pig', 'goldfish', 'rabbit']

應(yīng)用:將未讀書籍列表中書名分別輸出后,存入已讀書籍列表

not_read = ["紅樓夢(mèng)", "水滸傳", "三國演義", "西游記"]
have_read = []
while not_read:     # not_read非空,循環(huán)繼續(xù),否則中止
    book = not_read.pop()
    have_read.append(book)
    print("我已經(jīng)讀過《{}》了".format(book))
print(not_read)
print(have_read)
我已經(jīng)讀過《西游記》了
我已經(jīng)讀過《三國演義》了
我已經(jīng)讀過《水滸傳》了
我已經(jīng)讀過《紅樓夢(mèng)》了
[]
['西游記', '三國演義', '水滸傳', '紅樓夢(mèng)']

5 控制語句注意問題

盡可能減少多層嵌套

  • 可讀性差,容易把人搞瘋掉

if 條件:
    執(zhí)行語句
    if 條件:
        執(zhí)行語句
        if...

避免死循環(huán)

條件一直成立,循環(huán)永無止境

# while True:
    # print("歡迎訂閱專欄")

封裝過于復(fù)雜的判斷條件

如果條件判斷里的表達(dá)式過于復(fù)雜

出現(xiàn)了太多的 not/and/or等

導(dǎo)致可讀性大打折扣

考慮將條件封裝為函數(shù)

a, b, c, d, e = 10, 8, 6, 2, 0
if (a > b) and (c >d) and (not e):
    print("過于復(fù)雜")
numbers = (10, 8, 6, 2, 0)


def judge(num):
    a, b, c, d, e = num
    x = a > b
    y = c > d
    z = not e
    return x and y and z


if judge(numbers):
    print("簡潔明了")

以上就是關(guān)于“Python程序控制結(jié)構(gòu)是什么”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章標(biāo)題:Python程序控制結(jié)構(gòu)是什么
本文路徑:http://weahome.cn/article/pjsgcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部