從零開始學Python-Day10-if、elif、else條件判斷

計算機程序就是順序向下一步步進行條件判斷,執行不同指令。條件判斷可以說是計算機程序的精髓所在。

條件判斷

if列出條件,如果判斷為True,就執行後面的指令,如果判斷為False,不執行if後的指令,去執行else後面的指令,if條件和else後面都要加: 對應執行的命令記得縮進:

<code>>>> 年齡 = 18
>>> if 年齡 >= 18:
\tprint('你的年齡是',年齡)
\tprint('成人')
else:
\tprint('你的年齡是',年齡)
\tprint('未成年人')

你的年齡是 18
成人
>>> 年齡 = 11
>>> if 年齡 >= 18:
\tprint('你的年齡是',年齡)
\tprint('成人')
else:
\tprint('你的年齡是',年齡)
\tprint('未成年人')

你的年齡是 11
未成年人/<code>

注意:因為是單純的一個判斷循環,我們直接在交互模式下就可以輸入指令並執行。可以看出,上面對於年齡的判斷其實還不是很細緻,這時候我們需要elif語句來進一步細分年齡的劃分:

<code>>>> 年齡 = 5 

>>> if 年齡 >= 18:
\tprint('你的年齡是',年齡)
\tprint('成人')
elif 年齡 >= 6:
\tprint('你的年齡是',年齡)
\tprint('青少年')
else:
\tprint('兒童')

兒童/<code>

通過上面的例子可以看出,程序是嚴格按照自上而下的順序執行的,我們在編寫if、elif、else的條件時一定要注意執行的順序。在一個系列的判斷中,elif可以有多個:

<code>if :

elif :

elif :

else:
/<code>

if語句還可以直接判斷一個量是否為空、是否為零,如:

<code>>>> x = 1
>>> if x:
\tprint('True')
else:
\tprint('False')

True
>>> x =0
>>> if x:
\tprint('True')
else:
\tprint('False')

False
>>> x = ()

>>> if x:
\tprint('True')
else:
\tprint('False')

False/<code>

錯誤案例分析

看下面的案例,為什麼會報錯?

<code>>>> 出生年份 = input('請輸入您的出生年份')
請輸入您的出生年份1985
>>> if birth < 2000:
print('00前')
else:
print('00後')

Traceback (most recent call last):
File "<pyshell>", line 1, in <module>
if 出生年份 < 2000:
TypeError: '/<module>/<pyshell>/<code>

看報錯信息:不能在str和int之間做

<code>>>> 出生年份 = input('請輸入您的出生年份')
請輸入您的出生年份1985
>>> s = int(出生年份)
>>> if s < 2000:
print('00前')
else:
print('00後')

00前/<code>

實例練習

請用戶輸入姓名、身高、體重,計算用戶BMI指數(體重除以身高的平方),並根據該指數給出用戶肥胖程度判斷:低於18.5:過輕18.5-25:正常25-28:過重28-32:肥胖高於32:嚴重肥胖

<code># -*- coding: UTF-8 -*-
# Filename : 肥胖程度.py
# author by : www.woodmanzhang.com
# 肥胖程度
name = input('請輸入您的姓名:')
height = input('請輸入您的身高(釐米):')
weight = input('請輸入您的體重(公斤):')
h = int(height)
w = int(weight)
b = w/h**2
if b < 18.5:
\tprint(name,'您好,您的體重過輕')
elif b < 25:
\tprint(name,'您好,您的體重正常')
elif b < 28:
\tprint(name,'您好,您的體重過重')
elif b < 32:
\tprint(name,'您好,您的體重處於肥胖狀態')
else:
\tprint(name,'您好,您的體重處於嚴重肥胖')/<code>

執行結果演示:

<code>肥胖程度.py
請輸入您的姓名:木人張
請輸入您的身高(釐米):170
請輸入您的體重(公斤):90
木人張 您好,您的體重過輕/<code>


分享到:


相關文章: