1. if 判斷
1.1 單項分支
if 條件表示式:
code1
code2
# 當條件表示式成立,返回True,執行對應的程式碼塊
zhiye = "程式設計師"
if zhiye == "程式設計師":
print("拿高新")
print("錢多,話少,死的早")
print("髮量日漸稀少")
1.2 雙項分支
"""
if 條件表示式
code1
else:
code2
如果條件表示式成立,返回True,執行if這個區間的程式碼塊
如果條件表示式不成立,返回False,執行else這個區間的程式碼塊
if 分支的程式碼塊也叫做真區間
else 分支的程式碼塊也叫做假區間
"""
# 模擬網站登入
# 如果admin = xiaoming 密碼:password = 111 顯示登入成功,否則顯示登入失敗
admin = input("請輸入賬號:")
password = input("請輸入密碼:")
if admin == "xiaoming" and password == "111":
print("登入成功")
else:
print("登入失敗")
1.3 多項分支
"""
if 條件表示式1:
code1
elif 條件表示式2:
code2
elif 條件表示式3:
code3
else:
code4
如果條件表示式1成立,執行對應的分支code1,反之判斷條件表示式2是否成立
如果條件表示式2成立,執行對應的分支code2,反之判斷條件表示式3是否成立
如果條件表示式3成立,執行對應的分支code3,如果不成立,直接走else分支,到此程式執行完畢
elif 可以是0個 或者多個
else 可以是0個 或者一個
"""
youqian = True
youfang = True
youche = True
if youqian == True:
print("說明這個人很有實力")
elif youfang == True:
print("能交個朋友嗎")
elif youche == True:
print("開了雅迪艾瑪電動車我們碰一碰吧")
else:
print("你還是去做美團騎手吧")
1.4 巢狀分支
# 單項分支,雙向分支,多項分支的互相巢狀結合
youqian = False
youfang = False
youche = False
youyanzhi = True
youtili == True
if youqian == True:
if youfang == True
if youche == True:
if youyanzhi == True:
if youtili == True:
print("我要嫁給你")
else:
print("你去吃點大腰子再來~")
else:
print("你去一下泰國+韓國,整整容")
else:
print("你是個好人吶~")
2.while 迴圈
"""
特點:減少冗餘程式碼,提升程式碼效率
語法:
while 條件表示式
code1
(1)初始化一個變數
(2)寫上迴圈的條件
(3)自增自減的值
"""
2.1 while練習
# (1) 列印1~100
i = 1
while i <= 100:
print(i)
i += 1
# (2) 1~100的累加和
i = 1
total = 0
while i <= 100:
total += 1
i += 1
print(total)
# (3)用死迴圈的方法實現1~100累加和
i = 1
total = 0
sign = True
while sign:
total += i
i += 1
if i == 101:
sign = False
print(total)
# (4) 列印一行十個小星星*
"""
# help 檢視某個方法的文件
# help(print)
# end='' 列印時,尾部預設不加換行
"""
i = 0
while i < 10:
print("*",end='')
i += 1
print()
# (5) 九九乘法表
# 正向列印
i = 1
while i <= 9:
j = 1
while j <=i:
print("%d*%d=%2d " %(i,j,i*j),end="")
j += 1
print()
i += 1
# 反向列印
i = 9
while i >= 1:
j = 1
while j <=i:
print("%d*%d=%2d " %(i,j,i*j),end="")
j += 1
print()
i -= 1
# (6)求吉利數字100~999之間找111 222 333 123 456 654 321...
"""
// 可以獲取一個數高位
% 可以獲取一個數低位
"""
# 方法1
i = 100
while i <= 999:
baiwei = i //100
shiwei = i //10%10
gewei = i % 10
print(gewei)
if shiwei == gewei and shiwei == baiwei:
print(i)
# 123
elif shiwei == gewei -1 and shiwei == baiwei +1:
print(i)
# 987
elif shiwei == gewei + 1 and shiwei == baiwei -1:
print(i)
i += 1
# 方法2
i = 100
while i<= 999:
strvar = str(i)
gewei = int(strvar[-1])
shiwei = int(strvar[1])
baiwei = int(strvar[0])
if shiwei == gewei and shiwei == baiwei:
print(i)
# 123
elif shiwei == gewei - 1 and shiwei == baiwei +1:
print(i)
# 987
elif shiwei == gewei +1 and shiwei == baiwei -1:
print(i)
i+=1
3.for迴圈
# 遍歷 迴圈 迭代 ,把容器中的元素一個一個獲取出來
# while迴圈在遍歷資料時的侷限性
"""
lst = [1,2,3,4,5]
i = 0
while i <len(lst):
print(lst[i])
i +=1
# for迴圈的基本語法
Iterable 可迭代資料:容器型別資料 range物件 迭代器
for 變數 in Iterable:
code1
# 字串
count = "北京天氣很好"
for i in count:
print(i)
# 列表
count = [1,2,3,"中","22"]
for i in count:
print(i)
# 元組
for i in count:
print(i)
# 集合
for i in count:
print(i)
# 字典 (迴圈的是字典的鍵)
for i in count:
print(i)
"""
# 1.遍歷不等長多級容器
"""
cont = [1, 2, 3, 4, ("大", "567"), {"jw", "type", "iok"}]
for i in cont:
# 判斷當前元素是否是容器,如果是,進行二次遍歷,如果不是,直接列印
if isinstance(i, tuple):
#
for j in i:
# 判斷當前元素是否是集合,如果是,進行三次遍歷,如果不是,直接列印
if isinstance(j, set):
for k in j:
print(K)
else:
print(j)
# 列印資料
else:
print(i)
"""
# 2.遍歷不等長多級容器
container = [("小", "大", "知道"), ("大學", "新思想", "屬性"), ("sww",)]
for i in container:
for j in i:
print(j)
# 3.遍歷等長的容器
cont = [("馬雲","小馬哥","馬化騰"),["王思聰","王健林","馬保國"],{"王寶強","馬蓉","宋小寶"}]
for a,b,c in cont:
for j in a,b,c:
print(j)
# ### range物件
"""
range(開始值,結束值,步長)
取頭舍尾,結束值本身獲取不到,獲取到它之前的那一個資料
"""
# range(一個值)
for i in range(5): #0~4
print(i)
# range(二個值)
for i in range(3,8):
print(i)
# range(三個值) 正向的從左到右
for i in range(1,11,3):
print(i)
# range(三個值) 正向的從右到到
for i in range(10,0,-1):
print(i)
"""
while 一般用於處理複雜的邏輯關係
for 一般用於迭代資料
"""
# 九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%2d " %(i,j,i*j),end="")
print()
4.關鍵字
# ### 關鍵字的使用 pass break continue
# pass過(佔位用)
if 20 == 20:
pass
while True:
pass
# break 終止當前迴圈
# 1~10 遇到5終止迴圈
i =1
while i <= 10:
print(i)
if i == 5:
break
i +=1
i = 1
while i<=3:
j = 1
while j <=3:
if j == 2:
break
print(i,j)
j +=1
i +=1
# continue 跳過當前迴圈,從下一次迴圈開始
# 列印 1~100 跳過5
i =1
while i<=10:
if i ==5:
# 在跳過之前,因為會終止執行後面的程式碼,從下一次迴圈開始
# 為了避免死迴圈,手動加1
i+=1
continue
print(i)
i+=1
# 1~100 列印所有不含有4的數字
i =1
while i<=100:
strvar = str(i)
print(strvar)
if "4" in strvar
i+=1
continue
print(i)