計算機程序就是順序向下一步步進行條件判斷,執行不同指令。條件判斷可以說是計算機程序的精髓所在。
條件判斷
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>
閱讀更多 木人張 的文章