<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【Python】35個(gè)經(jīng)典案例:吃透Python中的if條件語(yǔ)句~

          共 2141字,需瀏覽 5分鐘

           ·

          2021-10-26 00:08

          公眾號(hào):尤而小屋
          作者:Peter
          編輯:Peter

          在生活中總是會(huì)聽到這樣的話:

          • 如果我上課認(rèn)真一點(diǎn),英語(yǔ)肯定可以及格
          • 如果我努力鍛煉,肯定可以減到100斤
          • 如果我技術(shù)過硬,早就進(jìn)大廠了…..

          其實(shí)這就是條件語(yǔ)句的應(yīng)用:假設(shè)有某個(gè)條件成立,便會(huì)產(chǎn)生怎樣的結(jié)果。

          剪刀石頭布

          通過一個(gè)剪刀石頭布的游戲來(lái)引出if條件語(yǔ)句:

          import?random??#?隨機(jī)模塊

          player?=?int(input("請(qǐng)輸入(0-剪刀??1-石頭?2-布)"))??#?玩家輸入
          computer?=?random.randint(0,2)???#?0-2之間隨機(jī)產(chǎn)生一個(gè)數(shù)作為電腦的輸入

          if?(player?==?0?and?computer?==?2)?or?(player?==?1?and?computer?==?0)?or?(player?==?2?and?computer?==?1):
          ????print("恭喜玩家你贏了")??#?加上小括號(hào)
          elif?(player?==?0?and?computer?==?0)?or?(player?==?1?and?computer?==?1)?or?(player?==?2?and?computer?==?2):
          ????print("平局")
          else:
          ????print("很可惜,你輸了")

          因?yàn)殡娔X的輸入是隨機(jī)產(chǎn)生的,所以可能產(chǎn)生不同的結(jié)果。

          Python條件控制語(yǔ)句

          Python 中的 條件控制語(yǔ)句 (Conditional control statement) 是通過一條或者多條語(yǔ)句的執(zhí)行結(jié)果(True 或者 False),來(lái)決定執(zhí)行的代碼邏輯 。

          • 關(guān)鍵詞:它包含 ifelifelse 關(guān)鍵字, Python 中是不存在 else if 的寫法,只存在 elif 這種寫法。
          • 冒號(hào)很重要:每句判斷語(yǔ)句使用冒號(hào) - : 結(jié)尾,使用 縮進(jìn) 劃分語(yǔ)句塊,相同縮進(jìn)數(shù)的語(yǔ)句組成一個(gè)語(yǔ)句塊。
          • 3種條件控制語(yǔ)句:if 、if - else 、if - elif (多個(gè)elif) - else

          if 語(yǔ)句

          if 語(yǔ)句,僅有一個(gè)判斷條件,如果條件成立(為 True),則執(zhí)行判斷語(yǔ)句后帶縮進(jìn)的代碼邏輯,否則不執(zhí)行。

          1、語(yǔ)法格式:

          if?expression:
          ????statements...

          看下具體的執(zhí)行流程圖:

          看一個(gè)具體的案例:我們定義了一個(gè)變量a,剛好滿足if語(yǔ)句的條件,那么執(zhí)行打印恭喜你

          if - else 語(yǔ)句

          if?expression
          ????statements...
          else:
          ????statements...

          if - else 語(yǔ)句,僅有一個(gè)判斷條件,與 if 語(yǔ)句的區(qū)別就在于:

          • 如果if后面的條件成立(為 True),則執(zhí)行 if 判斷語(yǔ)句后帶縮進(jìn)的代碼邏輯,

          • 否則的話,便執(zhí)行 else 后帶縮進(jìn)的代碼邏輯。

          看下具體的執(zhí)行流程圖:

          看一個(gè)具體的例子:

          • 定義變量a=2,不滿足if條件語(yǔ)句
          • 執(zhí)行else后面縮進(jìn)的代碼塊

          if - elif - else 語(yǔ)句

          if?expression:
          ????statements...
          elif?expression:
          ????statements...
          ?????#?可以有1條或多條elif語(yǔ)句
          else:
          ????statement...

          在使用判斷語(yǔ)句時(shí),我們有時(shí)需要對(duì)兩個(gè)甚至是多個(gè)條件進(jìn)行判斷,并執(zhí)行對(duì)應(yīng)的代碼邏輯,這時(shí)以上兩種語(yǔ)句就無(wú)法滿足我們的需求。值得注意的是,if - elif - else 語(yǔ)句中,僅有一個(gè)條件成立后,就會(huì)退出當(dāng)前整個(gè)判斷語(yǔ)句,簡(jiǎn)單來(lái)說,這三條判斷路徑,只會(huì)走其中一條。

          這種語(yǔ)句需要注意的點(diǎn):

          • 存在多個(gè)條件判斷語(yǔ)句,if為真則執(zhí)行if后面的語(yǔ)句
          • elif如果有一個(gè)為真,則執(zhí)行該elif,后面代碼塊不執(zhí)行了
          • 如果if和elif都不滿足,則執(zhí)行else語(yǔ)句

          看下具體的執(zhí)行流程圖:

          具體的案例如下:

          if…else...語(yǔ)句嵌套

          多個(gè)if語(yǔ)句同時(shí)使用。通過一個(gè)客人是否喝的是美式加糖咖啡的例子來(lái)說明:

          1、同時(shí)滿足美式和“是”(加糖)的條件

          2、滿足美式,但是不加糖“否”

          不滿足加糖的時(shí)候(否),進(jìn)入第一個(gè)else中

          3、一開始就不滿足“美式”

          三元操作符

          if條件語(yǔ)句可以和三元操作符配合使用。其實(shí)就是將多個(gè)if...else...條件語(yǔ)句寫到一行代碼中:

          X?=?A?if?B?else?C
          • 如果B條件作為真,輸出X=A
          • 如果B為假,那么輸出X=C

          上面語(yǔ)句的意思是:如果滿足條件x>y,則將x賦值給a,否則(x

          現(xiàn)在是x

          Python列表推導(dǎo)式使用if語(yǔ)句

          找出50以內(nèi)能夠被5整除的數(shù)字,兩種方法來(lái)實(shí)現(xiàn):

          • 列表推導(dǎo)式
          • for循環(huán)

          Python中的邏輯運(yùn)算符

          運(yùn)算符說明
          not邏輯“非”
          and邏輯“與”
          or邏輯“或”

          Python操作運(yùn)算符

          Python中常用的基礎(chǔ)運(yùn)算符可參照下表:

          操作符說明
          <小于
          <=小于或等于
          >大于
          >=大于或等于
          ==等于
          !=不等于
          in / not in成員運(yùn)算符
          is / not is身份運(yùn)算符

          舉幾個(gè)例子說明基礎(chǔ)運(yùn)算符的使用:

          Python中特殊對(duì)象

          Python中的布爾值(bool)分為True和Fool。在if判斷中如果條件為真True,則執(zhí)行if后面縮進(jìn)的代碼塊。有些特殊對(duì)象的布爾值為fool:

          對(duì)象布爾值
          NoneFalse
          所有值為零的數(shù)(整數(shù)/復(fù)數(shù)/浮點(diǎn)數(shù))False
          空字符串False
          空列表False
          空元組False
          空字典False
          空集合False

          下面的多個(gè)例子表示的是:當(dāng)本身的布爾值為False,加上not之后變成True,然后執(zhí)行print語(yǔ)句

          通過否定的形式,我們可以精簡(jiǎn)自己的代碼:

          坐飛機(jī)

          坐上飛機(jī)一般需要兩個(gè)主要步驟:

          • 購(gòu)買機(jī)票
          • 通過安檢
          def?fly():
          ????ticket?=?int(input("是否購(gòu)買機(jī)票(0-未購(gòu)買?1-購(gòu)買)"))
          ????safety?=?int(input("是否通過安檢(0-未通過?1-通過)"))
          ????
          ????if?ticket?==?1?and?safety?==?1:
          ????????print("請(qǐng)登機(jī)")
          ????elif?ticket?==?1?and?safety?!=?1:
          ????????print("未通過安檢,不能登機(jī)")
          ????else:
          ????????print("沒有機(jī)票不能登機(jī)")
          ????????
          if?__name__?==?"__main__":
          ????fly()

          總結(jié)

          1. 使用if條件控制語(yǔ)句時(shí),可根據(jù)實(shí)際需求,靈活搭配使用基本運(yùn)算符與邏輯運(yùn)算符。
          2. 平時(shí)的if條件語(yǔ)句作為嵌套的多個(gè)if語(yǔ)句
          3. 需要注意條件控制語(yǔ)句后的冒號(hào) ?: ,還有就是python中的代碼塊縮進(jìn)問題。
          4. if - else 語(yǔ)句可理解為二選其一,if - elif - else 則為三選其一,包含多個(gè) elif 則為 N 選其一,其中 else 并非必須選項(xiàng)。
          5. 使用邏輯運(yùn)算符時(shí),其優(yōu)先級(jí)需要注意,加上小括號(hào) ?() 的語(yǔ)句優(yōu)先級(jí)最高,() > not > and > or。當(dāng)我們不清楚語(yǔ)句執(zhí)行的優(yōu)先級(jí),最好的解決辦法就是添加上小括號(hào)

          往期精彩回顧




          站qq群554839127,加入微信群請(qǐng)掃碼:
          瀏覽 72
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产一级A片久久久免费看快餐 | 欧美黑人XXXXX性受苍井空 | 男人天堂2025 | 美女视频黄久久 | 亚洲精品永久久久久久 |