第四天:python判斷語句和循環語句

一、判斷語句

<1>開發中的判斷場景

密碼判斷

wKioL1nVoeWRQeS6AABbDn6yYDM071.jpg

重要日期判斷

    if 今天是週六或者週日:
        約妹子

    if 今天是情人節:
        買玫瑰

    if 今天發工資:

        先還信用卡的錢

        if 有剩餘:

            又可以happy了,O(∩_∩)O哈哈~

        else:

            噢,no。。。還的等30天

二、if判斷語句介紹

if語句是用來進行判斷的,其使用格式如下:

    

    if 要判斷的條件:
        條件成立時,要做的事情

demo1:

    

    age = 30

    print "------if判斷開始------"

    if age>=18:
        print "我已經成年了"

    print "------if判斷結束------"

運行結果:

    

    ------if判斷開始------
    我已經成年了
    ------if判斷結束------

demo2:

    

    age = 16

    print "------if判斷開始------"

    if age>=18:
        print "我已經成年了"

    print "------if判斷結束------"

運行結果:

    

    ------if判斷開始------
    ------if判斷結束------

注意:

    代碼的縮進爲一個tab鍵,或者4個空格

三、比較、關係運算符

<1>比較(即關係)運算符

python中的比較運算符如下表

運算符描述示例
==檢查兩個操作數的值是否相等,如果是則條件變爲真。如a=3,b=3則(a == b) 爲 true.
!=檢查兩個操作數的值是否相等,如果值不相等,則條件變爲真。如a=1,b=3則(a != b) 爲 true.
<>檢查兩個操作數的值是否相等,如果值不相等,則條件變爲真。如a=1,b=3則(a <> b) 爲 true。這個類似於 != 運算符
>檢查左操作數的值是否大於右操作數的值,如果是,則條件成立。如a=7,b=3則(a > b) 爲 true.
<檢查左操作數的值是否小於右操作數的值,如果是,則條件成立。如a=7,b=3則(a < b) 爲 false.
>=檢查左操作數的值是否大於或等於右操作數的值,如果是,則條件成立。如a=3,b=3則(a >= b) 爲 true.
<=檢查左操作數的值是否小於或等於右操作數的值,如果是,則條件成立。如a=3,b=3則(a <= b) 爲 true.

<2>邏輯運算符

運算符邏輯表達式描述實例
andx and y布爾"與" - 如果 x 爲 False,x and y 返回 False,否則它返回 y 的計算值。(a and b) 返回 20。
orx or y布爾"或" - 如果 x 是 True,它返回 True,否則它返回 y 的計算值。(a or b) 返回 10。
notnot x布爾"非" - 如果 x 爲 True,返回 False 。如果 x 爲 False,它返回 True。not(a and b) 返回 False

四、if-else

<1>if-else的使用格式

    

    if 條件:
        滿足條件時要做的事情1
        滿足條件時要做的事情2
        滿足條件時要做的事情3
        ...(省略)...
    else:
        不滿足條件時要做的事情1
        不滿足條件時要做的事情2
        不滿足條件時要做的事情3
        ...(省略)...

demo1

    

    chePiao = 1 # 用1代表有車票,0代表沒有車票
    if chePiao == 1:
        print "有車票,可以上火車"
        print "終於可以見到Ta了,美滋滋~~~"
    else:
        print "沒有車票,不能上車"
        print "親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~"

結果1:有車票的情況

    

    有車票,可以上火車
    終於可以見到Ta了,美滋滋~~~

結果2:沒有車票的情況

    

    沒有車票,不能上課
    親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~

五、elif

<1>elif的功能

elif的使用格式如下:

    

    if xxx1:
        事情1
    elif xxx2:
        事情2
    elif xxx3:
        事情3

demo:

    score = 77


    if score>=90 and score<=100:

        print '本次考試,等級爲A'

    elif score>=80 and score<90:

        print '本次考試,等級爲B'

    elif score>=70 and score<80:

        print '本次考試,等級爲C'

    elif score>=60 and score<70:

        print '本次考試,等級爲D'

    elif score>=0 and score<60:

        print '本次考試,等級爲E'


<2>注意點

可以和else一起使用


   if 性別爲男性:

       輸出男性的特徵

       ...

   elif 性別爲女性:

       輸出女性的特徵

       ...

   else:

       第三種性別的特徵

       ...

說明:

    當“性別爲男性”滿足時,執行“輸出男性的特徵”的相關代碼

    當“性別爲男性”不滿足時,如果“性別爲女性”滿足,則執行“輸出女性的特徵”的相關代碼

    當“性別爲男性”不滿足,“性別爲女性”也不滿足,那麼就默認執行else後面的代碼,即“第

    三種性別的特徵”的相關代碼

elif必須和if一起使用,否則出錯

六、if嵌套

<1>if嵌套的格式

    

    if 條件1:

        滿足條件1 做的事情1
        滿足條件1 做的事情2
        ...(省略)...

        if 條件2:
            滿足條件2 做的事情1
            滿足條件2 做的事情2
            ...(省略)...

說明:

    外層的if判斷,也可以是if-else

    內層的if判斷,也可以是if-else

    根據實際開發的情況,進行選擇

<2>if嵌套的應用

demo:

    

    chePiao = 1     # 用1代表有車票,0代表沒有車票
    daoLenght = 9     # 刀子的長度,單位爲cm

    if chePiao == 1:
        print "有車票,可以進站"
        if daoLenght < 10:
            print "通過安檢"
            print "終於可以見到Ta了,美滋滋~~~"
        else:
            print "沒有通過安檢"
            print "刀子的長度超過規定,等待警察處理..."
    else:
        print "沒有車票,不能進站"
        print "親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~"

結果1:chePiao=1;daoLenght=9

    

    有車票,可以進站
    通過安檢
    終於可以見到Ta了,美滋滋~~~

結果2:chePiao=1;daoLenght=20

    

    有車票,可以進站
    沒有通過安檢
    刀子的長度超過規定,等待警察處理...

結果3:chePiao=0;daoLenght=9

    

    沒有車票,不能進站
    親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~

結果4:chePiao=0;daoLenght=20

    

    沒有車票,不能進站
    親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~

<3>應用:猜拳遊戲

1.運行效果

wKioL1nVqT6wEJqXAACepQ7lKwY294.gif

2.參考代碼:

    import random


    player = input('請輸入:剪刀(0)  石頭(1)  布(2):')


    player = int(player)


    computer = random.randint(0,2)


    # 用來進行測試

    #print('player=%d,computer=%d',(player,computer))


    if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):

        print('獲勝,哈哈,你太厲害了')

    elif player == computer:

        print('平局,要不再來一局')

    else:

        print('輸了,不要走,洗洗手接着來,決戰到天亮')


七、while循環

<1>while循環的格式

    while 條件:
        條件滿足時,做的事情1
        條件滿足時,做的事情2
        條件滿足時,做的事情3
        ...(省略)...

demo

    i = 0
    while i<5:
        print "當前是第%d次執行循環"%(i+1)
        print "i=%d"%i
        i+=1

結果:

    當前是第1次執行循環
    i=0
    當前是第2次執行循環
    i=1
    當前是第3次執行循環
    i=2
    當前是第4次執行循環
    i=3
    當前是第5次執行循環
    i=4

<2>while嵌套的格式

    while 條件1:

        條件1滿足時,做的事情1
        條件1滿足時,做的事情2
        條件1滿足時,做的事情3
        ...(省略)...

        while 條件2:
            條件2滿足時,做的事情1
            條件2滿足時,做的事情2
            條件2滿足時,做的事情3
            ...(省略)...

<3>while嵌套應用一

要求:打印如下圖形:

    *
    * *
    * * *
    * * * *
    * * * * *

參考代碼:

    i = 1
    while i<=5:

        j = 1
        while j<=i:
            print "* ",
            j+=1

        print ""
        i+=1

八、break和continue

<1>break

普通的循環示例如下:

   for i in range(10):      
       print '----'
       print i

運行結果:

wKioL1nVqu6D8urUAAAhRPrb-9s911.png

帶有break的循環示例如下:

   for i in range(10):      
       print '----'
       if i==3:          
           break
       print i

運行結果:

wKioL1nVqzzSPvzOAAAN1nujcgA211.png

小總結:

    break的作用:用來結束整個循環

<2>continue

帶有continue的循環示例如下:

   for i in range(10):      
       print '----'
       if i==3:          
           continue
       print i

運行結果:

wKioL1nVrb7R2S3WAAAjWH5gmsQ683.png

小總結:

    continue的作用:用來結束本次循環,緊接着執行下一次的循環

<3>注意點

    break/continue只能用在循環中,除此以外不能單獨使用

    break/continue在嵌套循環中,只對最近的一層循環起作用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章