天天看點

11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

文章目錄

  • 1、程式結構
  • 2、`if`語句
  • 3、`if-else`語句
  • 4、`if…elif…else`語句——多重if選擇結構
  • 5、嵌套選擇結構
  • 6、條件表達式
  • 7、練一練
    • 計算身體品質指數
    • 猜拳遊戲
    • 升序排序

1、程式結構

Python

程式設計中的

3

種基本結構為順序結構、選擇結構和循環結構。

11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

生活中的判斷場景

11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練
11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練
11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

程式中的判斷場景

11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

2、

if

語句

Python

中使用

if

保留字來組成選擇語句,簡單的文法格式如下:

if 表達式:
	語句塊
           
11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

練一練:

  • 從鍵盤擷取自己的年齡,判斷是否大于或者等于

    18

    歲,如果滿足就輸出“已成年,網吧可以去了”。
  • 張三

    Python

    成績大于

    98

    分,而且html成績大于

    95

    分,老師獎勵他;或者

    Python

    成績等于

    100

    分,

    PS

    成績大于

    85

    分,老師也可以獎勵他。
  • 編寫程式,從鍵盤擷取使用者名和密碼,然後判斷,如果正确就輸出以下資訊:“親愛的xxx,歡迎登陸 XXXX系統。”

注意:在

Python

中,

真:數字非0、字元串

假:空字元串、None、0、[]、{}

11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

3、

if-else

語句

Python

中提供了

if-else

語句解決類似問題,其文法格式如下:

if 表達式:
	語句塊1
else:
    語句塊2
           
11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練
ticket = 1 # 用1代表有車票,0代表沒有車票
if ticket == 1:
    print("有車票,可以上火車")
    print("終于可以見到Ta了,美滋滋~~~")
else:
    print("沒有車票,不能上車")
    print("親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~")
           
11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

練一練:

  • 從鍵盤輸入刀子的長度,如果刀子長度沒有超過

    10cm

    ,則允許上火車,否則不允許上火車。
  • 使用者輸入兩個數

    a

    b

    。如果

    a

    能被

    b

    整除或

    a

    b

    大于

    1000

    ,則輸出

    a

    ;否則輸出

    b

4、

if…elif…else

語句——多重if選擇結構

對學生的期末考試成績評測

  • 成績>=90 :優秀
  • 成績>=80 :良好
  • 成績>=70 :中等
  • 成績>=60 :及格
  • 成績<60 :不及格

    分析:将成績分成幾個連續區間判斷。

    11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練
    解決一:使用

    5

    if

    解決。
    11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

    使用單個if選擇結構無法完成。

    使用多個if選擇結構可以實作,但要寫很多個,而且條件寫起來比較複雜。

解決二:使用多重

if

選擇結構。

在開發程式時,如果遇到多選一的情況,則可以使用

if…elif…else

語句,該語句是一個多分支選擇語句,通常表現為“如果滿足某種條件,就會進行某種處理,否則,如果滿足另一種條件,則執行另一種處理

if…elif…else

語句的文法格式如下 :

if 表達式1:
	語句塊1
elif 表達式2:
	語句塊2
…
else:
	語句塊n
           
11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練
print("在古希臘神話中,玫瑰花集愛情與美麗于一身,是以人們常用玫瑰來表達愛情。\n")
print("但是你知道嗎?不同朵數的玫瑰花代表的含義是不同的。\n")
#擷取使用者輸入的朵數,并轉換為整型
number = int(input("輸入你想送幾朵玫瑰花,小泸會告訴您含義:"))
if number == 1:           #如果輸入的是1,代表1朵
	print("1朵:一見鐘情!") 
elif number == 2:         #輸入2
	print("2朵:這世界隻有我倆!")
elif number == 4:         #輸入2
	print("4朵:至死不渝!")
elif number == 10:        #輸入2
	print("10朵:十全十美!")
elif number == 99:        #輸入2
	print("99朵:天長地久!")
elif number == 100:       #輸入2
	print("100朵:百分之百的愛!")
elif number == 108:       #輸入2
	print("108朵:求婚!")
else:                     #輸入其它數字 
	print("無論送她多少朵,都代表你滿滿的愛意!")
           

想一想:

問:多重

if

選擇結構中各個條件(即

elif

塊)的順序可以任意排列嗎?

答:在多重

if

選擇結構,如果條件之間存在連續關系,則

elif

塊的順序不是亂排的,要麼從大到小,要麼從小到大,總之是有序的排列。如果多重if選擇結構中的所有條件之間隻是簡單的互斥,不存在連續關系,則條件沒有順序要求。

5、嵌套選擇結構

11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

前面

3

種形式的選擇語句之間都可以互相嵌套。

在最簡單的if語句中嵌套

if…else

語句,形式如下:

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

if…else

語句中嵌套

if…else

語句,形式如下:

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

if

選擇語句可以有多種嵌套方式,開發程式時,可以根據自身需要選擇合适的嵌套方式,但一定要嚴格控制好不同級别代碼塊的縮進量。

示例:

國家品質監督檢驗檢疫局釋出的《車輛駕駛人員血液、呼氣酒精含量門檻值與檢驗》中規定:車輛駕駛人員血液中的酒精含量小20mg/100ml不構成飲酒駕駛行為;酒精含量大等于20mg/100ml、小于80mg/100ml為飲酒駕車;酒精含量大于或等于80mg/100ml為醉酒駕車。現編寫一段Python代碼來幫助泸州交警判斷司機是否存在酒後駕車。

print("\n 中國酒城·醉美泸州 四川省泸州市歡迎您! \n")
print("美酒雖好,請不要貪杯哦!為了您和他人的安全,嚴禁酒後駕車!\n")
#擷取駕駛員輸入的酒精含量,并轉換為整型
proof = int(input("請輸入駕駛員每100ml血液的酒精含量:"))
if proof < 20:    #酒精含量小于20mg,不構成飲酒行為
	print("\n您還不構成飲酒行為,可以開車,但要注意安全!")
else:    #酒精含量大于或等于20mg,已經構成飲酒駕車行為
	if 80 > proof >= 20: #酒精含量大于或等于20mg且小于80mg,達到飲酒駕駛标準
		print("\n已經達到酒後駕車标準,請不要開車!")
	else:   #酒精含量大于或等于80mg,已經達到醉酒駕駛标準
		print("\n已經達到醉酒駕車标準,千萬不要開車!")
           
chePiao = 1     # 用1代表有車票,0代表沒有車票
daoLenght = 9     # 刀子的長度,機關為cm

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

練一練:

  • 學校舉行運動會,百米賽跑跑入

    10

    秒内的學生有資格進決賽,根據性别分别進入男子組和女子組。
  • 情節描述:上公共汽車,并且可以有座位坐下。

6、條件表達式

在程式開發時,經常會根據表達式的結果,有條件地進行指派。例如,要傳回兩個數中較大的數,可以使用下面的

if

語句:

a = 10
b = 6
if a > b:
    r = a
else:
    r = b
           

針對上面的代碼,可以使用條件表達式進行簡化,代碼如下:

a = 10
b = 6
r = a if a > b else b
           

7、練一練

計算身體品質指數

身體品質指數 (

Body Mass Index

, 簡稱

BMI

), 是關于體重名額的品質測量,将以千克為機關的體重除以以米為機關身高的平方,就得到

BMI

的值。針對

16

歲及以上年齡的人群,他們的

BMI

值說明如下表所示:

11 選擇結構1、程式結構2、if語句3、if-else語句4、if…elif…else語句——多重if選擇結構5、嵌套選擇結構6、條件表達式7、練一練

猜拳遊戲

從鍵盤錄入人的出拳,計算機随機出拳,實作人和計算機的一次猜拳。

[0,2]的随機整數産生如下:

import random
print(random.randint(0,2))
           

升序排序

從鍵盤輸入

3

個整數,分别賦給整數變量

a

b

c

,然後将輸入的整數按照從小到大的順序放在變量

a

b

c

中,并輸出三個變量的值。