程序的執行流程分三種,順序結構(以前寫的代碼都是按照一條一條順序執行的語句)、分支結構(if,按照分支控制執行不一樣的子代碼塊來執行語句)、循環結構(while、for,重複執行某段代碼塊)python
主要用於判斷事物的對錯,真假,可行等去執行不一樣分支的子代碼塊微信
語法結構:code
if 條件:對象
子代碼塊字符串
gen = female age = 20 if gen == female and 24<= age <=18: print("給個微信")
if 條件:input
子代碼塊1for循環
else:class
子代碼塊2登錄
gen = female age = 20 if gen == female and 24<= age <=18: print("給個微信") else: print('你好')
if 條件1:變量
子代碼塊1
elif 條件2:
子代碼塊2
......
else:
子代碼塊n
能夠加n多個elif,條件都不成立執行else
gen = female age = 20 if gen == female and 24<= age <=18: print("給個微信") elif gen == male: print("打擾了") else: print('你好')
if......elif......else同一個代碼結構中只會執行一個分支,即執行if就不會執行elif和else,執行elif就不會執行if和else,執行else就不會執行if和elif
if 條件:
代碼塊
if 條件1:
代碼塊1
elif 條件2:
代碼塊2
else:
代碼塊3
gen = female age = 20 is_success = True if gen == female and 24<= age <=18: print("給個微信") if is_success: print("晚上看電影") elif gen == male: print("打擾了") else: print('你好')
條件循環
語法結構
while 條件:
代碼塊1
代碼塊2
代碼塊3
一、條件成立依次執行代碼塊一、代碼塊二、代碼塊3
二、條件代碼塊執行結束完後再次判斷條件,再次循環執行,直到條件爲False則中止循環
''' 模擬認證功能: 一、接收用戶的輸入 二、判斷用戶的輸入結果 三、返回數據 四、輸入三次失敗,鎖定帳戶 ''' username = "shen" password = "123" count = 0 while count < 3: user_name = input("名字:") pass_word = input("密碼:") if username == user_name and password == pass_word: print("登陸成功") else: print("登陸失敗") count += 1 if count == 3: print("帳戶鎖定")
break
結束本層循環,單純指當前執行的循環,當前循環break後代碼都不會被執行
#登陸成功後退出 username = "shen" password = "123" count = 0 while count < 3: user_name = input("名字:") pass_word = input("密碼:") if username == user_name and password == pass_word: print("登陸成功") break else: print("登陸失敗") count += 1 if count == 3: print("帳戶鎖定")
continue
跳過本次循環執行下一次循環,當前循環continue代碼後都不會被執行
''' 打印1—9,不打印6,遇到8結束 ''' count = 0 while count < 9: count += 1 if count == 6: continue print(count) if count == 8: break
len()
#len() a = "shen" print(len(a))#打印字符串有多少個字符 b = [1, 2, 3, "shen"] print(len(b))#打印列表有多少個值 c = {"name":"shen", "age": 18} print(len(c))#打印有幾個鍵值對
l1 = [1, 2, 'shen', 4, 5, 'yong', 7, 18, 9] count = 0 while count < len(l1): print(l1[count]) count += 1
while + else
當while正常循環完畢後纔會執行else,可是不正常while循環完,如被break打斷則不會執行下面的else語句
count = 0 while count < 9: count += 1 if count == 6: continue print(count) # if count == 8: # break else: print("執行成功")
語法結構
for 變量 in 可迭代對象:
代碼塊
(可迭代對象是列表,字典,字符串)
l1 = {"name": "shen", "age": 18} for i in l1: print(i)#打印鍵 print(l1[i])#打印值 l1 = [1, 2, 'shen'] for i in l1: print(i)#打印列表內單個值 l1 = "shen" for i in l1: print(i)#打印逐個字符
range()#顧頭不顧尾
range(x,y,z)#x=start,y=stop(不顧尾),z=步長(默認步長爲1)
for + else
當for正常循環完畢後纔會執行else,可是不正常for循環完,如被break打斷則不會執行下面的else語句
for i in range(1,10): print(i) # if i == 7: # break else: print("打印成功")
for嵌套
"""" 打印: ****** ****** ****** """ for i in range(3): for j in range(6): print("*", end="") print() """ 九九乘法表: 1x1=1 2x1=2 2x2 =4 。。。。 """ # for i in range(1,10): # for j in range(1,i+1): # print(f"{i}x{j}={i*j}",end="") # print()