零基礎(chǔ)小白學(xué)python入門——學(xué)會python循環(huán)與分支

Python忠實地按照它們的順序執(zhí)行它們讽膏。

如果你想要改變語句流的執(zhí)行順序菱魔,該怎么辦呢?

你可能已經(jīng)猜到了蝇棉,這是通過控制流語句實現(xiàn)的讨阻。

在Python中有三種控制流語句——if、for和while篡殷。

如果大家在學(xué)習(xí)中遇到困難钝吮,想找一個python學(xué)習(xí)交流環(huán)境,可以加入我們的python圈板辽,裙號947618024奇瘦,可領(lǐng)取python學(xué)習(xí)資料,會節(jié)約很多時間劲弦,減少很多遇到的難題耳标。

if語句

if語句用來檢驗一個條件, 如果 條件為真(True)邑跪,我們運行一塊語句(稱為 if-塊 )

否則 我們處理另外一塊語句(稱為 else-塊 )次坡。else 從句是可選的。

age =20if age >18:print("成年人")else:print("未成年")#"未成年"

程序中我們判斷age的值是否大于18 如果大于輸出"成年人" 否則輸出 "未成年"

注意:

18后面有個冒號

print("成年人") 前面有縮進4個空格 稱為if-塊

可以通過下圖來簡單了解條件語句的執(zhí)行過程:

使用多重if

在這個程序中画畅,我們從用戶處得到猜測的數(shù)砸琅,然后檢驗這個數(shù)是否是我們手中的那個。我們把變量number設(shè)置為我們想要的任何整數(shù)夜赵,在這個例子中是28。然后乡革,我們使用input()函數(shù)取得用戶猜測的數(shù)字寇僧。

案例

number = 28guess?=?int(input('請輸入數(shù)字:'))ifguess==number:print('恭喜您猜中了')print('不是每一次您都能猜中')elifguess

輸出:

請輸入一個數(shù)字:50您猜的大了點猜數(shù)完成請輸入一個數(shù)字:22您猜的數(shù)有點小了猜數(shù)完成?請輸入一個數(shù)字:28恭喜您猜中了不是每一次您都能猜中猜數(shù)完成

?

注意if語句在結(jié)尾處包含一個冒號——我們通過它告訴Python下面跟著一個語句塊摊腋。

記住,elif和else部分是可選的嘁傀。

在Python執(zhí)行完一個完整的if語句以及與它相關(guān)聯(lián)的elif和else從句之后兴蒸,它移向if語句塊的下一個語句。在這個例子中细办,這個語句塊是主塊橙凳。

程序從主塊開始執(zhí)行,而下一個語句是print ('猜數(shù)完成')語句笑撞。在這之后岛啸,Python看到程序的結(jié)尾,簡單的結(jié)束運行茴肥。

可以通過下圖來簡單了解條件語句的執(zhí)行過程:

以下為if中常用的操作運算符:

操作符描述<小于<=小于或等于>大于>=大于或等于==等于坚踩,比較兩個值是否相等!=不等于

while語句

只要在一個條件為真的情況下,while語句允許你重復(fù)執(zhí)行一塊語句瓤狐。while語句是所謂 循環(huán) 語句的一個例子瞬铸。while語句有一個可選的else從句。

使用while語句

whilerunning:????guess?=?int(input('請輸入一個數(shù)字?:?'))ifguess == number:print('恭喜你猜到了')running= False # 讓while循環(huán)停止? ? elif guess < number:print('小了點')else:print('大了點')else:print('循環(huán)結(jié)束')


輸出

請輸入一個數(shù)字:50大了點??請輸入一個數(shù)字:22小了點??請輸入一個數(shù)字:28恭喜你猜到了 循環(huán)結(jié)束?

在這個程序中础锐,我們?nèi)匀皇褂昧瞬聰?shù)游戲作為例子嗓节,但是這個例子的優(yōu)勢在于用戶可以不斷猜數(shù),直到他猜對為止——這樣就不需要像前面那個例子那樣為每次猜測重復(fù)執(zhí)行一遍程序皆警。這個例子恰當?shù)卣f明了while語句的使用

我們把input和if語句移到了while循環(huán)內(nèi)拦宣,并且在while循環(huán)開始前把running變量設(shè)置為True。首先耀怜,我們檢驗變量running是否為True恢着,然后執(zhí)行后面的 while-塊 。在執(zhí)行了這塊程序之后财破,再次檢驗條件掰派,在這個例子中,條件是running變量左痢。

如果它是真的靡羡,我們再次執(zhí)行while-塊,否則俊性,我們繼續(xù)執(zhí)行可選的else-塊略步,并接著執(zhí)行下一個語句。

當while循環(huán)條件變?yōu)镕alse的時候定页,else塊才被執(zhí)行——這甚至也可能是在條件第一次被檢驗的時候趟薄。如果while循環(huán)有一個else從句,它將始終被執(zhí)行典徊,除非你的while循環(huán)將永遠循環(huán)下去不會結(jié)束

True和False被稱為布爾類型杭煎。你可以分別把它們等效地理解為值1和0恩够。在檢驗重要條件的時候,布爾類型十分重要羡铲,它們并不是真實的值

else塊事實上是多余的蜂桶,因為你可以把其中的語句放在同一塊(與while相同)中,跟在while語句之后也切,這樣可以取得相同的效果扑媚。

for循環(huán)

for..in是另外一個循環(huán)語句,它在一序列的對象上 遞歸 即逐一使用隊列中的每個項目雷恃。

使用for語句

案例:

fori inrange(1,5):print(i)else:print('循環(huán)結(jié)束')

輸出:

1234循環(huán)結(jié)束

在這個程序中疆股,我們打印了一個 序列 的數(shù)。我們使用內(nèi)建的range函數(shù)生成這個數(shù)的序列褂萧。

我們所做的只是提供兩個數(shù)押桃,range返回一個序列的數(shù)。這個序列從第一個數(shù)開始到第二個數(shù)為止导犹。例如唱凯,range(1,5)給出序列[1, 2, 3, 4]。默認地谎痢,range的步長為1磕昼。如果我們?yōu)閞ange提供第三個數(shù),那么它將成為步長节猿。

例如票从,range(1,5,2)給出[1,3]。記住滨嘱,range 向上 延伸到第二個數(shù)峰鄙,即它不包含第二個數(shù)

for循環(huán)在這個范圍內(nèi)遞歸——for i in range(1,5)等價于for i in [1, 2, 3, 4],這就如同把序列中的每個數(shù)(或?qū)ο螅┵x值給i太雨,一次一個吟榴,然后以每個i的值執(zhí)行這個程序塊。在這個例子中囊扳,我們只是打印i的值吩翻。

記住,else部分是可選的锥咸。如果包含else狭瞎,它總是在for循環(huán)結(jié)束后執(zhí)行一次,除非遇到break語句

break語句

reak語句是用來 終止 循環(huán)語句的搏予,即哪怕循環(huán)條件沒有稱為False或序列還沒有被完全遞歸熊锭,也停止執(zhí)行循環(huán)語句。

一個重要的注釋是,如果你從for或while循環(huán)中 終止 碗殷,任何對應(yīng)的循環(huán)else塊將不執(zhí)行劣针。

案例:

whileTrue:????s?=input('輸入字符串?:?')ifs?=='quit':breakprint('字符串的長度是',len(s))print'循環(huán)結(jié)束'

輸出:

輸入字符串:I字符串的長度是1?輸入字符串:Love字符串的長度是4?輸入字符串:You字符串的長度是3?輸入字符串:quit循環(huán)結(jié)束

在這個程序中,我們反復(fù)地取得用戶地輸入亿扁,然后打印每次輸入地長度。我們提供了一個特別的條件來停止程序鸟廓,即檢驗用戶的輸入是否是'quit'从祝。通過 終止 循環(huán)到達程序結(jié)尾來停止程序。

輸入字符串的長度通過內(nèi)建的len函數(shù)取得

continue語句

continue語句被用來告訴Python跳過當前循環(huán)塊中的剩余語句引谜,然后 繼續(xù) 進行下一輪循環(huán)牍陌。

案例:

whileTrue:? ? s = input('輸入字符串 : ')ifs =='quit':breakiflen(s)?<3:print('太短了')continueprint('驗證通過')print('循環(huán)結(jié)束')#?自此處起繼續(xù)進行其它任何處理

輸出:

輸入字符串 : I太短了?輸入字符串 : Love驗證通過?輸入字符串 : You驗證通過?輸入字符串 : quit循環(huán)結(jié)束

在這個程序中,我們從用戶處取得輸入员咽,但是我們僅僅當它們有至少3個字符長的時候才處理它們毒涧。所以,我們使用內(nèi)建的len函數(shù)來取得長度贝室。如果長度小于3契讲,我們將使用continue語句忽略塊中的剩余的語句。否則滑频,這個循環(huán)中的剩余語句將被執(zhí)行捡偏,我們可以在這里做我們希望的任何處理。

while循環(huán)圖解

最后多說一句峡迷,想學(xué)習(xí)Python可聯(lián)系小編银伟,這里有我自己整理的整套python學(xué)習(xí)資料和路線,想要這些資料的都可以進q裙947618024領(lǐng)取绘搞。

本文章素材來源于網(wǎng)絡(luò)彤避,如有侵權(quán)請聯(lián)系刪除。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夯辖,一起剝皮案震驚了整個濱河市琉预,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌楼雹,老刑警劉巖模孩,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贮缅,居然都是意外死亡榨咐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門谴供,熙熙樓的掌柜王于貴愁眉苦臉地迎上來块茁,“玉大人,你說我怎么就攤上這事∈福” “怎么了永淌?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長佩耳。 經(jīng)常有香客問我遂蛀,道長,這世上最難降的妖魔是什么干厚? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任斟冕,我火速辦了婚禮骆膝,結(jié)果婚禮上慨仿,老公的妹妹穿的比我還像新娘解恰。我一直安慰自己,他們只是感情好挂捅,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布芹助。 她就那樣靜靜地躺著,像睡著了一般闲先。 火紅的嫁衣襯著肌膚如雪状土。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天伺糠,我揣著相機與錄音声诸,去河邊找鬼。 笑死退盯,一個胖子當著我的面吹牛彼乌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播渊迁,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼慰照,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了琉朽?” 一聲冷哼從身側(cè)響起毒租,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎箱叁,沒想到半個月后墅垮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡耕漱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年算色,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片螟够。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡灾梦,死狀恐怖峡钓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情若河,我是刑警寧澤能岩,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站萧福,受9級特大地震影響拉鹃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鲫忍,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一毛俏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧饲窿,春花似錦、人聲如沸焕蹄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腻脏。三九已至鸦泳,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間永品,已是汗流浹背做鹰。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鼎姐,地道東北人钾麸。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像炕桨,于是被迫代替她去往敵國和親饭尝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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