国产网曝门99视频在线看_免费看片a级毛片免费看_4hu四虎永久在线观看_高清无套内精线观看456_国产欧美亚洲日韩久久福利_av在线无码观看另类重口_欧美精品一二三区较多收藏_欧美老熟妇伦视频_婷婷六月综合激情_最新国产成人野战在线观看


零基礎Python完全自學教程11:Python中的選擇語句

    時間: 瀏覽:2093次  來源:站長在線
歡迎你來到站長學堂,學習站長在線出品的在線課程《零基礎Python完全自學教程》今天給大家分享的是第11課《Python中的選擇語句》。本節(jié)課主要內容有:最簡單的if語句、if...else語句、if...elif...else語句、選擇語句的嵌套。

歡迎你來到站長學堂,學習站長在線出品的在線課程《零基礎python完全自學教程》今天給大家分享的是第11課《Python中的選擇語句》。本節(jié)課主要內容有:最簡單的if語句、if...else語句、if...elif...else語句、選擇語句的嵌套。


選擇語句,也稱為條件語句。即按照條件執(zhí)行不同的代碼片段。

在Python中,選擇語句主要有3種形式,分別是if語句、if...else語句、if...elif...else多分支語句。

11.1、Python中最簡單的if語句

Python中使用if保留字來組成選擇語句,起最簡單的語法形式如下:

if 表達式;
    語句塊

其中,表達式可以是一個單純的布爾值變量,也可以是比較表達式邏輯表達式(例如,a>b and a!=c),如果表達式為真,就執(zhí)行語句塊;如果表達式的值為假,就跳過語句塊,繼續(xù)執(zhí)行后面的語句。這種形式的if語句相對于漢語里面的“如果……就……”。其執(zhí)行流程圖如下:


圖11.1 最簡單的if語句執(zhí)行流程圖

實例11.1、《射雕英雄傳》中,黃蓉與瑛姑見面的一道數(shù)學題:今有物不知其數(shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二,問幾何?

在這里使用if語句判斷用戶輸入的是不是黃蓉所說的“除以三余二,除以五余三,除以七余二”的數(shù),代碼如下:

print("今有物不知其數(shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二,問幾何?")
num = int(input("請輸入你認為符合條件的數(shù)字:"))
if (num % 3 == 2) and (num % 5 == 3) and (num % 7 == 2):
    print(num,"符合三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二")

運行程序,當輸入23時,執(zhí)行結果如下:

今有物不知其數(shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二,問幾何?
請輸入你認為符合條件的數(shù)字:23
23 符合三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二
>>> 

當輸入的值,符合條件時,輸出結果。

運行程序,當輸入25時,執(zhí)行結果如下:

今有物不知其數(shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二,問幾何?
請輸入你認為符合條件的數(shù)字:25
>>> 

當輸入的值,不符合條件時,不會輸出結果。

站長在線誤區(qū)提示:

1、使用if語句的時候,后面沒有加英文冒號:

# if語句未加英文冒號
number = 5
if number == 5
    print("number的值為5")

正確的寫法如下:

# if語句結尾處加英文冒號
number = 5
if number == 5:
    print("number的值為5")

2、語句位置需要做正確的縮進。

#正確的縮進
height = float(input("請輸入您的身高(單位為米):"))      # 輸入身高,單位:米,如:1.70
weight = float(input("請輸入您的體重(單位為千克):"))     # 輸入體重,單位:千克,如:65
bmi=weight/(height*height)      # 用于計算BMI指數(shù),公式為“體重/身高的平方”

if bmi < 18.5:
    print("您的BMI指數(shù)為:"+str(bmi))  # 輸出BMI指數(shù)
    print("您的體重過輕 ~@_@~")

上面是正確的縮進,比如輸入身高:1.60,體重35結果如下:

請輸入您的身高(單位為米):1.60
請輸入您的體重(單位為千克):35
您的BMI指數(shù)為:13.671874999999998
您的體重過輕 ~@_@~
>>> 

下面我來一個錯誤的縮進,代碼如下:

# 錯誤的縮進
height = float(input("請輸入您的身高(單位為米):"))      # 輸入身高,單位:米,如:1.70
weight = float(input("請輸入您的體重(單位為千克):"))     # 輸入體重,單位:千克,如:65
bmi=weight/(height*height)      # 用于計算BMI指數(shù),公式為“體重/身高的平方”

if bmi < 18.5:
    print("您的BMI指數(shù)為:"+str(bmi))  # 輸出BMI指數(shù)
print("您的體重過輕 ~@_@~")

輸入身高:1.60,體重35,執(zhí)行結果如下:

請輸入您的身高(單位為米):1.60
請輸入您的體重(單位為千克):35
您的BMI指數(shù)為:13.671874999999998
您的體重過輕 ~@_@~
>>> 

看起來可以執(zhí)行,沒有什么問題,我改成 身高1.60,體重70,執(zhí)行結果如下:

請輸入您的身高(單位為米):1.60
請輸入您的體重(單位為千克):70
您的體重過輕 ~@_@~
>>> 

不管bmi的值是否小于18.5都會輸出“您的體重過輕 ~@_@~”。這顯然是錯誤的,與本意不符合,但是程序不會報錯,因此這個bug要特別注意。

11.2、Python中的if...else語句

在Python中,如果遇到只能二選一的條件,那么久使用if...else語句來解決問題。起語法格式如下:

if 表達式:
    語句塊1
else:
    語句塊2

使用if...else語句時,表達式可以是一個單純的布爾值或變量,也可以是比較表達式或邏輯表達式。

如果滿足條件,則執(zhí)行if后的語句塊;否則,執(zhí)行else后面的語句塊。

這樣的形式的選擇語句相對于漢語里面的“如果......否則......”。其執(zhí)行流程如圖11.2所示:


圖11.2 if...else語句執(zhí)行流程圖

現(xiàn)在我們通過一個實例來講解if...else的使用。

例11.2、判斷輸入的是不是黃蓉所說的數(shù)。

使用if...else語句判斷用戶輸入的數(shù)字是不是黃蓉所說的“除以三余二,除以五余三,除以七余二”的數(shù),代碼如下:

print("今有物不知其數(shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二,問幾何?")
num = int(input("請輸入你認為符合條件的數(shù)字:"))
if (num % 3 == 2) and (num % 5 == 3) and (num % 7 == 2):
    print(num,"符合三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二")
else:
    print(num,"不符合!")

當輸入23時,就是符合條件的數(shù)字,結果如下:

今有物不知其數(shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二,問幾何?
請輸入你認為符合條件的數(shù)字:23
23 符合三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二
>>> 

當輸入25時,就是不符合條件的數(shù)字,結果如下:

今有物不知其數(shù),三三數(shù)之剩二,五五數(shù)之剩三,七七數(shù)之剩二,問幾何?
請輸入你認為符合條件的數(shù)字:25
25 不符合!
>>> 

站長在線誤區(qū)提示:

1、else不可以單獨使用,必須和if一起使用。

2、在程序中使用if...else語句時,如果出現(xiàn)if語句多于else時,那么改else語句就會根據縮進確定該else是屬于哪一個if語句的。如:

#錯誤的縮進代碼示范
a = -1
if a >= 0:
    if a > 0:
        print("a大于零")
    else:
        print("a等于零")

上述代碼不會輸出任何信息,因為else語句屬于第3行的if語句,所以當a小于零時,else語句將不執(zhí)行。而修改為:

#正確的縮進代碼示范
a = -1
if a >= 0:
    if a > 0:
        print("a大于零")
else:
    print("a小于零")

這樣的話,就會有輸出結果:a小于零


11.3、Python中的if...elif...else多分支語句。

在Python開發(fā)程序的時候,出現(xiàn)多選一的時候就使用if...elif...else多分支語句。通常表現(xiàn)為“如果滿足某種條件,則進行某種處理,否則,滿足另一種條件,則執(zhí)行另一種處理。”

if...elif...else多分支語句語法格式如下:

if 表達式1
    語句塊1
elif 表達式2:
    語句塊2
elif 表達式3:
    語句塊3
...
else:
    語句塊n

使用if...elif...else多分支語句時,表達式可以是一個單純的布爾值或變量,也可以是比較表達式或邏輯表達式。

如果表達式為真,則執(zhí)行語句;如果表達式為假,則跳過該語句,進行下一個elif判斷;只有在所有表達式都為假的情況下,才會執(zhí)行else中的語句。if...elif...else多分支語句執(zhí)行流程如圖11.3所示:


圖11.3 if...elif...else多分支語句執(zhí)行流程圖

注意:if和elif都需要判斷表達式的真假,而else則不需要判斷;另外elif和else都必須跟if一起使用,不能單獨使用。

實例11.3、通過輸入分數(shù),輸出對應的等級(優(yōu)秀、良好、中等、及格、不及格)代碼如下:

fenshu = float(input("請輸入分數(shù):")) #輸入數(shù)據,且轉換成浮點數(shù)
if fenshu > 100 or fenshu < 0:
    print("分數(shù)輸入不合理。")
elif fenshu >= 90:
    print("優(yōu)秀")
elif fenshu >= 80:
    print("良好")
elif fenshu >= 70:
    print("中等")
elif fenshu >= 60:
    print("及格")
else:
    print("不及格")

站長在線特別提醒:大多數(shù)教程使用的是int()函數(shù),轉換成整型數(shù)據,其實是不對的,比如輸入66.5就會報錯了。只有轉換成浮點數(shù)(float)才能正確處理,而不會報錯。

程序執(zhí)行情況及輸出結果:

請輸入分數(shù):66.5
及格
>>> 

11.4、Python中選擇語句的嵌套

在本節(jié)課中,我們講到了if語句、if...else語句、if...elif...else多分支語句,這3種形式的選擇語句之間是可以相互嵌套的。

11.4.1、例如:在最簡單的if語句中嵌套if...else語句,語法如下:

if 表達式1:
    if 表達式2:
        語句塊1
    else:
        語句塊2

11.4.2、例如:在if...else語句中嵌套if...else語句,語法如下:

if 表達式1:
    if 表達式2:
        語句塊1
    else:
        語句塊2
else:
    if 表達式3:
        語句塊3
    else:
        語句塊4

站長在線特別提醒:選擇語句可以有多種嵌套方式,當開發(fā)程序時,可以根據自身的需要選擇合適的嵌套方式,但一定要嚴格控制好不同級別的代碼塊縮進量。

實例11.4、使用嵌套語句判斷輸入的年份是不是閏年。代碼如下:

year = int(input("請輸入一個年份:"))   # 獲取用戶輸入的年份,并轉換為整型
if year % 4 == 0:                       # 四年一閏
    if year % 100 == 0:
        if year % 400 == 0:             # 四百年再閏
           print(year,"年是閏年")
        else:                           # 百年不閏
            print(year,"年不是閏年")
    else:
        print(year,"年是閏年")
else:
    print(year,"年不是閏年")

說明:

判斷一個年份是否為閏年的條件是,可以可以被4整除,但 不能被100整除,或者可以被400整除。

1582年以來的置閏規(guī)則:

普通閏年:公歷年份是4的倍數(shù),且不是100的倍數(shù)的,為閏年(如2004年、2020年等就是閏年)。

世紀閏年:公歷年份是整百數(shù)的,必須是400的倍數(shù)才是閏年(如1900年不是閏年,2000年是閏年)。

運行上面程序,輸入一個閏年的年份,如2020,得到的結果如下:

請輸入一個年份:2020
2020 年是閏年
>>> 

重新運行上面程序,輸入一個不是閏年的年份,如2021,得到的結果如下:

請輸入一個年份:2021
2021 年不是閏年
>>> 

好了本節(jié)課講到了最簡單的if語句、if...else語句、if...elif...else語句、選擇語句的嵌套。今天的課程不是看的,而是靠大家親自運行的,多寫多練才有進步。今天的課程不好出選擇題了。大家自己練習起來。

下節(jié)預告:零基礎Python完全自學教程12:Python中的循環(huán)語句


相關閱讀:

《零基礎Python完全自學教程》匯總

1、認識python

2、安裝python及寫第一個Python程序

3、Python開發(fā)工具介紹

4、Python語法特點

5、Python中的變量

6、Python中的基本數(shù)據類型

7、Python中的基本輸入和輸出

8、Python中常用的運算符

9、Python中運算符的優(yōu)先級和條件表達式

10、Python中的三大程序結構


文末福利:

1、關注站長在線官方公眾號站長在線微信號:olzzcom ,文末也有公眾號二維碼,關注公眾號以后回復python,本站精心整理的Python書籍、軟件、工具都實時更新哦!本站所安裝的python3.10、 IDLE中文版 、PyCharmVisual Studio Code、Sublime Text4等都在里面哦!

2、站長在線官方微信交流群已經開通了,微信掃碼進入,一起交流,一起進步!



本文地址:http://003188.cn/pythonxzyj.html
碼字不易,打個賞唄
楊澤業(yè)感謝你的支持!

猜你喜歡

PHP8的靜態(tài)變量和方法-PHP8知識詳解

導讀:我們在上一課程講到了public、private、protected這3個關鍵字,今天我們來講解static關鍵字,明天再講解final關鍵字。 如果不想通過創(chuàng)建對象來調用變量或方法,則可以將該變量或方法創(chuàng)建為靜態(tài)變量或方法,也就是在變量或方法的前面加上static關鍵詞。

2023-09-28  分類:PHP學堂  瀏覽:819次


PHP8中偽變量“$this->”和操作符“::”的使用-PHP8知識詳解

導讀:對象不僅可以調用自己的變量和方法,也可以調用類中的變量和方法。php8通過偽變量“$this->”和操作符“::”來實現(xiàn)這些功能。

2023-09-24  分類:PHP學堂  瀏覽:829次


PHP8的類與對象的基本操作之成員變量-PHP8知識詳解

導讀:成員變量是指在類中定義的變量。在類中可以聲明多個變量,所以對象中可以存在多個成員變量,每個變量將存儲不同的對象屬性信息。

2023-09-21  分類:PHP學堂  瀏覽:818次


PHP8內置函數(shù)中的變量函數(shù)-PHP8知識詳解

導讀:今天學習的變量函數(shù)中,著重講解了5個,分別是:檢測變量是否為空的函數(shù)empty()、判斷變量是否定義過的函數(shù)isset()、銷毀指定的變量的函數(shù)unset()、獲取變量的類型的函數(shù)gettype()、檢查變量是否為數(shù)字或數(shù)字字符串的函數(shù)is_numeric()。

2023-09-02  分類:PHP學堂  瀏覽:923次


變量函數(shù)及銷毀函數(shù)中的變量-PHP8知識詳解

導讀:今天分享PHP8知識詳解中的變量函數(shù)及銷毀函數(shù)中的變量,以及相應的示例代碼。

2023-08-26  分類:PHP學堂  瀏覽:842次


給PHP8和MySQL8添加到環(huán)境變量-ThinkPHP8知識詳解

導讀:在phpenv安裝的時候,環(huán)境變量默認的PHP版本是7.4的,MySQL的版本是5.7的,要想使用thinkphp8來開發(fā),就必須修改環(huán)境變量,本文就詳細講解了如果修改PHP和MySQL的環(huán)境變量。

2023-08-12  分類:ThinkPHP教程  瀏覽:931次


PHP8的變量-PHP8知識詳解

導讀:昨天我們講解了PHP8的常量,今天講解PHP8的變量。常量有定義常量和預定義常量,變量呢?那就沒有定義變量了,那叫給變量賦值,但是還是有預定義變量的。下面就給大家講解什么是變量、變量賦值及使用及預定義變量。

2023-08-11  分類:PHP學堂  瀏覽:775次


域名pythonw.cn出售

域名pythonw.cn的詳細信息:Python網

2022-08-06  分類:域名出售  瀏覽:1375次


站長在線Python教程:Python中類定義詳解

導讀:歡迎你來到站長在線的站長學堂學習Python知識,本文學習的是《Python中類定義詳解》。

2022-02-23  分類:Python學堂  瀏覽:1898次


站長在線Python教程:python中面向對象相關概述詳解

導讀:歡迎你來到站長在線的站長學堂學習Python知識,本文學習的是《python中面向對象相關概述詳解》。本文的主要內容有:面向對象是什么、面向對象中的對象是什么、Python中的類是什么、面向對象編程的特點有哪些?

2022-02-14  分類:Python學堂  瀏覽:1616次