1. 程式人生 > 實用技巧 >Python基礎之判斷型別和初涉迴圈

Python基礎之判斷型別和初涉迴圈

# ### 判斷型別 isinstance
"""
語法:
    # 用法一
    isinstance(要判斷的值,要判斷的型別) 返回True 或者 False
    # 用法二
    isinstance(要判斷的值,(可能的型別1,可能的型別2,可能的型別3 ...  ) ) 如果有一個型別滿足,返回的是True 否則 返回False
    
資料型別:
int float bool complex str list tuple set dict
"""
# 用法一
res = isinstance(5,int)
res = isinstance("11223344",str)
res 
= isinstance([1,2,3],tuple) print(res) # 用法二 res = isinstance(16, (str,list,tuple) ) print(res)
# ### 程式碼塊 : 以冒號作為開始,用縮排來劃分作用域
# 作用域:作用的區域,作用的範圍


if 10 == 10: # True 執行
    print(1)
    print(2)
    print(3)
print(4)

if 10 == 11: # False 不執行
    print(11)
    print(22)
    print(33)
print(44)



# 程式碼塊的注意點: """要麼全都是一個tab縮排,要麼全都是4個空格,不能混合使用""" if 10 == 10: print(100) print(200) # IndentationError # php js .... (瞭解) """ if(10 == 10){ print(1) print(2) print(3) } """
# ### 流程控制
"""
流程: 程式碼執行的過程
控制: 對程式碼執行過程的一種把控

三大結構:
1.順序結構 : 預設程式碼依次從上到下執行
2.分支結構 : 4種
3.迴圈結構 : for  while

分支結構:
    (1)單項分支
    (2)雙項分支
    (3)多項分支
    (4)巢狀分支
""" # 1.單項分支 """ if 條件表示式: code1 code2 當條件表示式成立,返回True,執行對應的程式碼塊,反之不執行 """ liucaixia = "女生" if liucaixia == "女生": print("給他買一些好吃的") print("給他買一些好玩的") print("陪她出去逛街") print("陪她買化妝品") # 2.雙項分支 """ if 條件表示式: code1 code2 else: code3 code4 如果條件表示式成立,執行if對應的程式碼塊 如果條件表示式不成立,執行else對應的程式碼塊 if 程式碼塊也叫做真區間 else 程式碼塊也叫做假區間 """ liucaixia = "摳腳老漢" if liucaixia == "女生": print("加他微信") print("加他手機") print("收集他的興趣愛好") print("以後多聯絡") else: print("給你一榔頭~") # input 等待使用者輸入字串,接受的資料是字串 """ name = input("先森,你媽貴姓?~") print(name , type(name)) """ """ 網站登入功能: 提示使用者輸入對應的使用者名稱和密碼 如果使用者名稱admin,密碼000 提示使用者,登入成功 否則提示,登入失敗 """ username = input("請輸入您的使用者名稱:") password = input("請輸入您的密碼:") if username == "admin" and password == "000": print("登入成功~") else: print("登入失敗~")
# ### 多項分支 (多選一)
"""
語法:
if 條件表示式1:
    code1
    code2
elif 條件表示式2:
    code1
    code2
elif 條件表示式3:
    code1
    code2
else:
    code...
    
如果條件表示式1成立,返回True,執行對應的程式碼塊,反之則向下執行
如果條件表示式2成立,返回True,執行對應的程式碼塊,反之則向下執行
如果條件表示式3成立,返回True,執行對應的程式碼塊,反之則向下執行
直到最後,任何條件都不滿足,執行else這個分支的程式碼塊.


elif 可以出現0次或者多次
else 可以出現0次或者1次
"""

youqian = True
# 雙項分支
if youqian == True:
    print("上午剛認識,下午就結婚")
else:    
    print("你是個好人")

# 多項分支
youqian = False
youfang = False
youche = False
youyanzhi = False
youtili = False

if youqian == True:
    print("我就嫁給你1")
elif youfang == True:
    print("我就嫁給你2")
elif youche == True:
    print("我就嫁給你3")
elif youyanzhi == True:
    print("我就嫁給你4")
elif youtili == True:
    print("我就嫁給你5")
    
else:
    print("你是個好人")


# ### 巢狀分支 (單項分支,雙項分支,多項分支的互相巢狀)
print("<============================>")
youqian = False
youfang = False
youche = False
youyanzhi = False
youtili = False


if youqian == True:
    if youfang == True:
        if youche == True:
            if youyanzhi == True:
                if youtili == True:
                    print("老孃今天死活要嫁給你,等著接盤吧,兄弟")
                else:
                    print("恭喜你~ 成為我的1號備胎")
            else:
                print("你可以上韓國整整容,整成金城武再來.")
else:
    print("出門左拐,乘2路汽車,2站之後下是你家,不送了,老弟.")
# ### 迴圈結構: while 迴圈
"""
特點:減少冗餘的程式碼,提升程式碼的效率
語法:
    while 條件表示式:
        code1...
        code2...
        
1.初始化一個變數
2.寫上迴圈的判斷條件
3.自增自減的變數值
"""


# 列印1 ~ 100 
i = 1
while i <= 100:
    # 在這個位置寫要執行的邏輯
    print(i)
    i += 1 # i = i + 1
    
"""
初始化一個變數i
第一次迴圈
i = 1 , i<=100 成立返回True,執行迴圈
print(1)
i += 1 => 2

第二次迴圈
i = 2 , i<=100 成立返回True,執行迴圈
print(2)
i += 1 => 3

第三次迴圈
i = 3 , i<=100 成立返回True,執行迴圈
print(3)
i += 1 => 4
....

什麼時候結束?
當i = 101時候, 判斷i <= 100 不成立返回False ,不執行迴圈
迴圈結束...
"""


# 計算1~100的累加和
# 方法一
i = 1
total = 0
while i<=100:
    # 把所有的i值全部累加到total這個變數中
    total += i # total = total + i
    i+=1

print(total)
"""
# 程式碼解析:
第一次迴圈
i = 1 i<=100 成立執行迴圈
total += i => total = total + i => 0 + 1
i+=1 => 2


第二次迴圈
i = 2 i<=100 成立執行迴圈
total += i => total = total + i => 0 + 1 + 2
i+=1 => 3

第三次迴圈
i = 3 i<=100 成立執行迴圈
total += i => total = total + i => 0 + 1 + 2 + 3
i+=1 => 4

....
依次迴圈

什麼時候結束?
i = 100 
total = 0 + 1 + 2 + 3 + 4 + ...+ 100 = 5050
當i = 101 不滿足迴圈的條件 , 直接跳出,迴圈結束..
到此列印 5050 ;


"""

# 方法二.
total = 0
i = 1
sign = True
while sign:    
    total += i # total = total + i
    i+=1

    # 手動加上終止迴圈的條件
    if i == 101 :
        sign = False
print(total)




# 死迴圈
"""
while True:
    print(123)
"""