您好,登錄后才能下訂單哦!
這篇“Python程序控制結構是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python程序控制結構是什么”文章吧。
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: # 數據結構不為空、變量不為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
復合邏輯運算的優先級 非 > 與 > 或
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 條件: ??縮進的代碼塊
age = 8 if age > 7: print("孩子,你該上學啦!")
孩子,你該上學啦!
模板 if 條件: ??縮進的代碼塊 else: ??縮進的代碼塊
age = 6 if age > 7: print("孩子,你該上學啦!") else: print("再玩兩年泥巴!")
再玩兩年泥巴!
模板 if 條件: ??縮進的代碼塊 elif 條件: ??縮進的代碼塊 elif 條件: ??縮進的代碼塊 ... else: ??縮進的代碼塊
age = 38 if age < 7: print("再玩兩年泥巴") elif age < 13: print("孩子,你該上小學啦") elif age < 16: print("孩子,你該上初中了") elif age < 19: print("孩子,你該上高中了") elif age < 23: print("大學生活快樂") elif age < 60: print("辛苦了,各行各業的工作者們") else: # 有時為了清楚,也可以寫成elif age >= 60: print("享受退休生活吧")
辛苦了,各行各業的工作者們
不管多少分支,最后只執行一個分支
題目:年滿18周歲,在非公共場合方可抽煙,判斷某種情形下是否可以抽煙
age = eval("請輸入年齡")) if age > 18: is_public_place = bool(eval("公共場合請輸入1,非公共場合請輸入0"))) print(is_public_place) if not is_public_place: print("可以抽煙") else: print("禁止抽煙") else: print("禁止抽煙")
請輸入年齡19 公共場合請輸入1,非公共場合請輸入01 True 禁止抽煙
for元素in可迭代對象: 執行語句
從可迭代對象中,依次取出每一個元素,并進行相應的操作
1、直接迭代——列表[ ]、元組( )、集合{ }、字符串" "
graduates = ("李雷", "韓梅梅", "Jim") for graduate in graduates: print("Congratulations, "+graduate)
Congratulations, 李雷 Congratulations, 韓梅梅 Congratulations, Jim
2、變換迭代——字典
students = {201901: '小明', 201902: '小紅', 201903: '小強'} for k, v in students.items(): print(k, v) for student in students.keys(): #for student in students 同樣是迭代鍵key print(student)
201901 小明 201902 小紅 201903 小強 201901 201902 201903
3、range()對象
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 結束整個循環
product_scores = [89, 90, 99, 70, 67, 78, 85, 92, 77, 82] # 1組10個產品的性能評分 # 如果低于75分的超過1個,則該組產品不合格 i = 0 for score in product_scores: if score < 75: i += 1 if i == 2: print("產品抽檢不合格") break
產品抽檢不合格
continue 結束本次循環
product_scores = [89, 90, 99, 70, 67, 78, 85, 92, 77, 82] # 1組10個產品的性能評分 # 如果低于75分,輸出警示 print(len(product_scores)) for i in range(len(product_scores)): if product_scores[i] >= 75: continue print("第{0}個產品,分數為{1},不合格".format(i, product_scores[i]))
10 第3個產品,分數為70,不合格 第4個產品,分數為67,不合格
如果for 循環全部執行完畢,沒有被break中止,則運行else塊
product_scores = [89, 90, 99, 70, 67, 78, 85, 92, 77, 82] # 1組10個產品的性能評分 # 如果低于75分的超過1個,則該組產品不合格 i = 0 for score in product_scores: if score < 75: i+=1 if i == 2: print("產品抽檢不合格") break else: print("產品抽檢合格")
產品抽檢不合格
經典題目:猜數字
albert_age = 18 #第1次 guess = int(input(">>:")) if guess > albert_age : print("猜的太大了") elif guess < albert_age : print("猜的太小了") else: print("猜對了") #第2次 guess = int(input(">>:")) if guess > albert_age : print("猜的太大了") elif guess < albert_age : print("猜的太小了") else: print("猜對了")
代碼可能需要重復執行,可是又不知道具體要執行多少次
while判斷條件: 執行語句 條件為真,執行語句 條件為假,while 循環結束
albert_age = 18 guess = int(input(">>:")) while guess != albert_age: if guess > albert_age : print("猜的太大了.") elif guess < albert_age : print("猜的太小了") guess = int(input(">>:")) print("猜對了")
>>:20 猜的太大了. >>:18 猜對了
albert_age = 18 flag = True # 布爾類型 while flag: guess = int(input(">>:")) if guess > albert_age : print("猜的太大了") elif guess < albert_age : print("猜的太小了") else: print("猜對了") flag = False
flag=True while flag: pass while flag: pass while flag: flag=False # 循環逐層判斷,當flag為false時,循環會逐層退出
albert_age = 18 while True: guess = int(input(">>:")) if guess > albert_age : print("猜的太大了") elif guess < albert_age : print("猜的太小了") else: print("猜對了...") break # 當訴求得到滿足,就跳出循環
輸出10以內的奇數
i = 0 while i < 10: i += 1 if i % 2 == 0: continue # 跳出本次循環,進入下一次循環 print(i)
1 3 5 7 9
如果while 循環全部執行完畢,沒有被break中止,而是條件不再滿足了而中止,則運行else塊
count = 0 while count <= 5 : count += 1 print("Loop",count) else: print("循環正常執行完啦")
Loop 1 Loop 2 Loop 3 Loop 4 Loop 5 Loop 6 循環正常執行完啦
應用:刪除列表中的特定值
pets = ["dog", "cat", "dog", "pig", "goldfish", "rabbit", "cat"]
while "cat" in pets: pets.remove("cat") pets
['dog', 'dog', 'pig', 'goldfish', 'rabbit']
應用:將未讀書籍列表中書名分別輸出后,存入已讀書籍列表
not_read = ["紅樓夢", "水滸傳", "三國演義", "西游記"] have_read = [] while not_read: # not_read非空,循環繼續,否則中止 book = not_read.pop() have_read.append(book) print("我已經讀過《{}》了".format(book)) print(not_read) print(have_read)
我已經讀過《西游記》了 我已經讀過《三國演義》了 我已經讀過《水滸傳》了 我已經讀過《紅樓夢》了 [] ['西游記', '三國演義', '水滸傳', '紅樓夢']
可讀性差,容易把人搞瘋掉
if 條件: 執行語句 if 條件: 執行語句 if...
條件一直成立,循環永無止境
# while True: # print("歡迎訂閱專欄")
如果條件判斷里的表達式過于復雜
出現了太多的 not/and/or等
導致可讀性大打折扣
考慮將條件封裝為函數
a, b, c, d, e = 10, 8, 6, 2, 0 if (a > b) and (c >d) and (not e): print("過于復雜")
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("簡潔明了")
以上就是關于“Python程序控制結構是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。