十一将宪、 python中的選擇結(jié)構(gòu)

我們?cè)谏钪刑幚韱栴}的時(shí)候谈截,總是需要判斷這件事應(yīng)不應(yīng)該做,計(jì)算機(jī)在處理問題的時(shí)候也需要做判斷涧偷,根據(jù)判斷結(jié)果控制程序流程簸喂。

比如,有一個(gè)分段函數(shù)

分段函數(shù)f(x)

當(dāng)x<-1時(shí)燎潮,f(x) = 2-x
當(dāng)1<=x<=1/2時(shí)喻鳄,f(x) = -3x
當(dāng)x>1/2時(shí),f(x) = x-2

我們要實(shí)現(xiàn)這個(gè)函數(shù)的時(shí)候确封,就需要使用條件判斷除呵。舉個(gè)例子:

x = 1  #先定義x
if x<-1:  #如果x<-1
    y = 2-x  #則y = 2-x
elif 1<=x<=1/2:  #如果1<=x<=1/2
    y = -3*x  #則y = -3x
else:  #剩余的情況
    y = x-2  #y = x-2
print(y)

在python中,有三種判斷方法:

  1. if語句
    當(dāng)只需要判斷一種情況時(shí)爪喘,我們使用if語句
if (條件表達(dá)式1):
       執(zhí)行語句1
       執(zhí)行語句2
       ……

當(dāng)使用if語句的時(shí)候颜曾,程序先判斷“條件表達(dá)式1”,如果表達(dá)式為真秉剑,則執(zhí)行下面的“執(zhí)行語句1”泛豪、“執(zhí)行語句2”和后續(xù)的語句。

需要注意的是:執(zhí)行語句前要加四個(gè)空格,這是python中的縮進(jìn)诡曙,具有共同縮進(jìn)的語句臀叙,為同一個(gè)整體。也就是說价卤,上面例子中的“執(zhí)行語句1”和“執(zhí)行語句2”是同一個(gè)整體劝萤,如果“條件表達(dá)式1”為真,那么將按順序依次執(zhí)行“執(zhí)行語句1”慎璧,“執(zhí)行語句2”和……

舉個(gè)例子:

age = 30
if age>=18:
    print('He is an adult.')
print('finished.')

我們運(yùn)行這個(gè)例子床嫌,得到的是:

He is an adult.
finished.

因?yàn)閍ge的值是30,大于等于18胸私,條件表達(dá)式age>=18為True既鞠,因此執(zhí)行下面的語句print('He is an adult.')。執(zhí)行后選擇結(jié)構(gòu)就徹底執(zhí)行完畢了盖文,接著繼續(xù)執(zhí)行程序,print('finished.')蚯姆,所以我們看到的結(jié)果有兩句話五续。如果age = 6,那么結(jié)果就是:

finished.

條件表達(dá)式age>=18為False龄恋,不執(zhí)行下屬的執(zhí)行語句疙驾,選擇結(jié)構(gòu)執(zhí)行完畢,繼續(xù)執(zhí)行程序郭毕,print('finished.')它碎,所以結(jié)果就只有這一句。

  1. if else語句
    有時(shí)候我們需要判斷并執(zhí)行兩種情況显押,如果滿足A扳肛,就執(zhí)行什么東西,不滿足乘碑,就執(zhí)行另一種東西挖息。
if (條件表達(dá)式1):
       執(zhí)行語句1
else:
       執(zhí)行語句2

如果“條件表達(dá)式1”為真,則執(zhí)行“執(zhí)行語句1”兽肤,如果“條件表達(dá)式1”為假套腹,則執(zhí)行“執(zhí)行語句2”。舉個(gè)例子:

age = 30
if age>=18:
       print('adult')
else:
       print('minor')

如果age>=18资铡,則打印'adult'电禀,反之,打印'minor'笤休。

  1. if elif else語句
    有時(shí)候尖飞,我們需要判斷的情況有很多種,這時(shí)候就需要if elif else語句了。
if (條件表達(dá)式1):
       執(zhí)行語句1
elif (條件表達(dá)式2):
       執(zhí)行語句2
else:
       執(zhí)行語句3

判斷“條件表達(dá)式1”葫松,為True瓦糕,執(zhí)行“執(zhí)行語句1”,為False腋么,判斷“條件表達(dá)式2”咕娄,為True,執(zhí)行“執(zhí)行語句2”珊擂,為False圣勒,執(zhí)行“執(zhí)行語句3”。
在if elif else語句中摧扇,elif的個(gè)數(shù)是不限的圣贸,可以加很多個(gè)elif,但是if和else都只能有一個(gè)扛稽。例子就是開頭的那個(gè)分段函數(shù)的例子吁峻。

需要注意的是,else一定要與前面的if對(duì)應(yīng)在张,也就是具有相同的縮進(jìn)用含,以表示他們兩個(gè)是一組的。

有些時(shí)候帮匾,可以寫成

if x:
    執(zhí)行語句1

當(dāng)x是非零數(shù)值啄骇、非空字符串、非空列表瘟斜、元組缸夹、字典、集合時(shí)螺句,執(zhí)行下面的"執(zhí)行語句1"虽惭。

if x:
    print(x,'True')
else:
    print(x,'False')

以下是當(dāng)x分別為0, -1, 1, '', 'a', [], (), [1], 1, None, True, False時(shí)的打印結(jié)果。

0 False
-1 True
1 True
 False
a True
[] False
() False
[1] True
1 True
None False
True True
False False

規(guī)律就是
· 數(shù)字里面蛇尚,除了0都是True趟妥,0是False
· 非空的字符串,列表佣蓉,元組等披摄,都是True,空是False
· None是False
以上就是python中的選擇結(jié)構(gòu)勇凭。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末疚膊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子虾标,更是在濱河造成了極大的恐慌寓盗,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異傀蚌,居然都是意外死亡基显,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門善炫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撩幽,“玉大人,你說我怎么就攤上這事箩艺〈茏恚” “怎么了?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵艺谆,是天一觀的道長(zhǎng)榨惰。 經(jīng)常有香客問我,道長(zhǎng)静汤,這世上最難降的妖魔是什么琅催? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮虫给,結(jié)果婚禮上藤抡,老公的妹妹穿的比我還像新娘。我一直安慰自己狰右,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布舆床。 她就那樣靜靜地躺著棋蚌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挨队。 梳的紋絲不亂的頭發(fā)上谷暮,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音盛垦,去河邊找鬼湿弦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腾夯,可吹牛的內(nèi)容都是我干的颊埃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蝶俱,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼班利!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起榨呆,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤罗标,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闯割,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡彻消,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宙拉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宾尚。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鼓黔,靈堂內(nèi)的尸體忽然破棺而出央勒,到底是詐尸還是另有隱情,我是刑警寧澤澳化,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布崔步,位于F島的核電站,受9級(jí)特大地震影響缎谷,放射性物質(zhì)發(fā)生泄漏井濒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一列林、第九天 我趴在偏房一處隱蔽的房頂上張望瑞你。 院中可真熱鬧,春花似錦希痴、人聲如沸者甲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虏缸。三九已至,卻和暖如春嫩实,著一層夾襖步出監(jiān)牢的瞬間刽辙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工甲献, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宰缤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓晃洒,卻偏偏與公主長(zhǎng)得像慨灭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子球及,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容