作為控制結(jié)構(gòu)的核心,選擇結(jié)構(gòu)在我們生活中無處不在。通過幾個例子來了解一下選擇結(jié)構(gòu):
1) 使用手機(jī)的時(shí)候,如果手機(jī)沒電,就無法使用,有電可以正常使用。
2) 在登錄QQ輸入賬戶密碼之后,如果密碼正確則登錄成功,密碼錯誤則登錄失敗。
3) 乘高鐵的時(shí)候,如果到站時(shí)高鐵還未發(fā)車則可以上車,已經(jīng)發(fā)車則無法上車。
這些例子都屬于選擇結(jié)構(gòu),在使用選擇結(jié)構(gòu)的時(shí)候還被分成4種形式,分別是if語句,if...else語句,if...elif..elif多分支語句以及if語句的嵌套,下面會根據(jù)這四種形式依次進(jìn)行講解。
1. if語句
簡單的if語句就是使用if關(guān)鍵字來構(gòu)成選擇語句,它的形式是:
if 表達(dá)式: 條件語句
表達(dá)式可以是一個變量或者布爾值,也可以是比較表達(dá)式或邏輯表達(dá)式,如果表達(dá)式的結(jié)果為真就會執(zhí)行條件語句,如果為假就跳出此判斷往下繼續(xù)運(yùn)行。下面我們還是先通過例子來了解一下。
當(dāng)我們口渴的時(shí)候,我們會去喝水。通過流程圖可以看出,此時(shí)會對是否口渴進(jìn)行一個判斷,如果口渴了則為True,則往下走執(zhí)行喝水操作。
那么它的程序?qū)?yīng)就是:
you = str(input('是否口渴,回答是或其他任何回答:')) if you == '是':#如果回答‘是’,就會喝水。 print('喝水') print('喝水')
我們還可以通過一條語句實(shí)現(xiàn)if語句,例如:
x = 1 if X > 0 : print('X是大于0的')
但是并不推薦使用這種寫法,這樣會影響程序的可讀性,所以我們在學(xué)習(xí)過程中盡量將代碼寫的整潔易懂。
2. if...else
當(dāng)我們面臨兩種選擇的時(shí)候就要使用到if...else結(jié)構(gòu),它的格式為:
if 表達(dá)式: 條件語句1 else: 條件語句2
舉個例子,當(dāng)我們要判斷某天是否要上班的時(shí)候,要對判斷當(dāng)天是否是工作日,如果是工作日,那么就要去上班,如果不是工作日,那么就不去上班。
流程圖如下:
對應(yīng)的程序?yàn)椋?/p>
judge = str(input("今天是否工作日(回答是或否):")) if judge == '是': print('需要去工作') else: print('不用去工作')
簡單的if...else語句就是通過判斷if中的語句是否滿足而選擇性的執(zhí)行相關(guān)操作。
我們再通過一個簡單的例子來強(qiáng)化一下if...else的學(xué)習(xí)。
number = int(input())#先輸入一個number if number >= 100:#判斷number是否大于或等于100 print('number是大于或等于100的')#滿足條件執(zhí)行此語句 else: print('number小于100')#不滿足if中的條件就執(zhí)行此語句
需要注意一點(diǎn)是在引用else的時(shí)候else是不能單獨(dú)使用的,else需要和if或while配套使用。
1008 | [編程入門]成績評定 |
1067 | 二級C語言-分段函數(shù) |
1481 | 藍(lán)橋杯算法提高VIP-剪刀石頭布 |
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程