這篇“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)站制作公司
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("空的")
非空
與、或、非
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
元素 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
模板 注意有“:” 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 禁止抽煙
for元素in可迭代對(duì)象: 執(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]
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 循環(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)品抽檢不合格
經(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判斷條件: 執(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ì)了
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ì)逐層退出
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 循環(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í)行完啦
應(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)']
可讀性差,容易把人搞瘋掉
if 條件: 執(zhí)行語句 if 條件: 執(zhí)行語句 if...
條件一直成立,循環(huán)永無止境
# while True: # print("歡迎訂閱專欄")
如果條件判斷里的表達(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è)資訊頻道。