Python語言程式設計(8) if語句的巢狀

2021-10-08 12:51:52 字數 3294 閱讀 3576

if語句巢狀指的是if語句內部包含if語句,其格式如下:

if 條件表示式1

: **塊1

if 條件表示式2

: **塊2

上述if語句巢狀的格式中,先判斷外層if語句中條件表示式1的結果是否為true,如果結果為true,則執行**塊1,再判斷內層if的條件表示式2的結果是否為true,如果條件表示式2的結果為true,則執行**塊2。

針對if巢狀語句,有兩點需要說明:

(1) if語句可以多層巢狀,不僅限於兩層。

(2)外層和內層的if判斷都可以使用if語句、f…ese 語句和elif語句。

根據年份和月份計算當月一共有多少天,示例**如下:

year =

int(

input

("請輸入年份: "))

month =

int(

input

("請輸入月份:"))

if month in

[1,3

,5,7,8

,10,12

]:print

(f" 年月有31天"

)elif month in[4

,6,9,11

]:print

(f"年(month}月有30天"

)elif month ==2:

if year8400 ==0or

(year84 ==0and year8100!=0)

:print

(f"年月有29天"

)else

:print

(f"年月有28天"

)

上述**中首先定義了表示年份和月份的變數year和month,分別用於接收使用者輸人的年份和月份,然後對月份進行判斷:若月份為1、3、5、7. 8、10、12,輸出「年月有31天」;若月份為4、6、9、11,輸出「年月有30天」;若月份為2月,則需要對年份進行判斷:年份為閏年時輸出「年月有29天」,年份為平年時輸出「*年月有28天」。

火車和地鐵的出現極大地方便了人們的出行,但為了防止不法分子,保障民眾安全,進站乘坐火車或者乘坐地鐵之前,需要先接受安檢。部分車站先驗票後安檢,亦有車站先安檢後驗票。

以先驗票後安檢的車站為例,乘客的進站流程如下:

(1)驗票:檢查乘客是否購買了車票。

 如果沒有車票,不允許進站。

 如果有車票,對行李進行安檢。

(2)行李安檢:檢查乘客是否攜帶危險品。

 如果攜帶了危險品,進行提示,不允許上車。

 如果沒有攜帶危險品,順利進站。

本例項要求編寫程式,模擬乘客進站流程。

【參考**】

"""

坐火車或者地鐵的實際情況是:先進行安檢如果安檢通過才會判斷是否有車票,或者是先檢查是否有車票之後才會進行安檢,

即實際的情況某個判斷是再另外乙個判斷成立的基礎上進行的,這樣的情況該怎樣解決呢?

"""ticket =

1# 用1代表有車票,0代表沒有車票

knife_length =

9# 刀子的長度,單位為cm

if ticket ==1:

print

("有車票,可以進站"

)if knife_length <10:

print

("通過安檢"

)print

("終於可以見到ta了,美滋滋~~~"

)else

:print

("沒有通過安檢"

)print

("刀子的長度超過規定,等待警察處理..."

)else

:print

("沒有車票,不能進站"

)print

("親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~"

)

快遞行業的高速發展,人們郵寄物品變得方便快捷。某快遞點提供華東地區、華南地區、華北地區的寄件服務,其中華東地區編號為01、華南地區編號為02、華北地區編號為03。該快遞點寄件價目表具體如表所示。

表 寄件價目表

地區編號

首重/元(≤2kg)

續重/(元/kg)

華東地區(01)133

華南地區(02 )122

華北地區(03)144

本例項要求根據表3-4提供的資料編寫程式,實現快遞計費系統。

【參考**】

"""

幫一家快遞點開發乙個快遞**計費系統,業務如下:

提示使用者輸入:1.重量。2.地區編號

首重 3公斤

3公斤以內

編號01:華東地區 13元 華南地區 12元 華北地區 14元

3公斤以外

華東地區3元/kg 華南地區 2元/kg 華北地區4元/kg

"""# weight = int(input("請輸入快遞重量:"))

weight =

float

(input

("請輸入快遞重量:"))

print

('編號01:華東地區 編號02:華南地區 編號03:華北地區'

)place =

input

("請輸入地區編號:"

)if weight <=2:

if place ==

'01'

:print

('快遞費為13元'

)elif place ==

'02'

:print

('快遞費12元'

)elif place ==

'03'

:print

('快遞費14元'

)else

: excess_weight = weight -

2if place ==

'01'

: many = excess_weight *3+

13print

('快遞費為%.1f元'

% many)

elif place ==

'02'

: many = excess_weight *2+

12print

('快遞費為%.1f元'

% many)

elif place ==

'03'

: many = excess_weight *4+

14print

('快遞費為%.1f元'

% many)

超全面的測試it技術課程,0元立即加入學習!有需要的朋友戳:

python語言程式設計8

1,說實話,我挺傷心的,感覺 有點像爛劇裡的主演。也許我早幾天明白的話,會不會結果會不一樣?但是之前還真沒往這方面想過,但是確實是開了乙個口子了,也不急吧。努力把現在的事給做好,變帥變高,那很多事還不是很簡單嗎?還有自己的實力提高。必須要培養核心力量啊。程式設計3,昨天是欠一的,不管怎樣,35前事情...

程式語言學習 python 05語句

1.print語句 在python3.0中看作函式 print age 42 age 42 name gumby salutation mr greeting hello,print greeting,salutation,name hello,mr gumby greeting hello pri...

Python學習筆記8 語句

條件語句 有的程式裡寫的是 usr bin python,表示 python 直譯器在 usr bin 裡面。但是,如果寫成 usr bin env,則表示要通過系統搜尋路徑尋找 python 直譯器。不同系統,可 能直譯器的位置不同,所以這種方式能夠讓 更將擁有可移植性。usr bin env p...