else应输入一个语句是什么意思_Python学习基础篇 -4: Python中的转弯---分支语句
前言:本專欄以Python為主題,并盡可能保持每星期兩到三更,直到將Python的基礎(chǔ)知識(shí)淺析和講解完畢,同時(shí),有一定基礎(chǔ)的同學(xué)可以移步 Python實(shí)戰(zhàn)專欄 。
背景:對(duì)于該系列文章的前三篇,自己讀過的同學(xué)應(yīng)該能發(fā)現(xiàn)一個(gè)問題,那就是我們寫的所有代碼都是一路“直行”的,無法根據(jù)指定條件選擇不同的途徑,這顯然是不合理的。就好像你要到達(dá)一個(gè)目的地,只會(huì)盲目直行,不會(huì)根據(jù)特定條件停止或者轉(zhuǎn)彎,那大多數(shù)時(shí)候你是無法到達(dá)這個(gè)目的地的。在Python的程序設(shè)計(jì)就,就提供了用于“轉(zhuǎn)彎”的語句,即 if,elif,else這三個(gè)關(guān)鍵詞組成的語句。以下將以Python中的分支語句為主題進(jìn)行展開。
首先,上面展示了三種Python中的分支結(jié)構(gòu)。先看看第一種,仔細(xì)觀察,會(huì)發(fā)現(xiàn)這么一個(gè)特點(diǎn),那就是,以 if為關(guān)鍵詞,聲明這是一個(gè)分支,然后 if 的后面跟一個(gè)條件,這里用condition來概括,那么這個(gè)條件有什么用呢?是這樣子的,以 5==6 這個(gè)代碼為例,這是一個(gè)判斷左右兩邊數(shù)字是否相等的條件,如果相等,那這行代碼運(yùn)行之后會(huì)得到 Ture ,但不會(huì)顯示在屏幕上,對(duì)于 if來說,如果與它同行并且在其后面的 碼運(yùn)行只會(huì)返回了 True 或者數(shù)字 1,那么就會(huì)滿足這個(gè) if 分支下面的代碼執(zhí)行條件,該分支下面的代碼塊就會(huì)被執(zhí)行。再看看 if 所在行的那個(gè)一個(gè)冒號(hào),它標(biāo)志這條件的結(jié)束,即 if 和 冒號(hào)之間包裹著條件。接著看 if 的下一行,你會(huì)發(fā)現(xiàn) dosomething 與f的水平距離不一致,這個(gè)距離一般為一個(gè) Tab 鍵的長度,這有什么用呢?它的作用就是為了區(qū)分代碼的層次等級(jí),以這個(gè) if 分支為例,dosomtehing與 if 的水平距離為一個(gè) Tab 鍵,那這個(gè)dosomething就從屬于if。如果 if 是爸爸,那 dosomething就是親生子女。當(dāng)然子女如果再繁殖,那之前的子女就會(huì)變爸爸,之前的爸爸就會(huì)變爺爺了,依次類推(這屬于分支嵌套的范疇,暫不展開討論)。
第一種講完,接下來是第二種。仔細(xì)觀察,發(fā)現(xiàn)第二種與第一種的差別是,多了一個(gè) else。這如何理解呢?else就是否則的意思,if 是如果。舉個(gè)例子,如果今天下雨我就不出去玩,否則我就出去玩。這個(gè)例子中 “今天不下雨” 對(duì)于第二種代碼中的 condition ,而else與冒號(hào)之間并沒有所謂的condition,這是因?yàn)闆]有必要,我只要對(duì) “今天不下雨” 這個(gè)條件進(jìn)行否定就行了,沒有必要再列舉出其他條件(如果想列舉請(qǐng)看第三種),而出不出去玩就是滿足某個(gè)條件之后要去做的事情了。所以else可以理解為,"如果滿足排除condition的一切其他條件"。這么看,else也和if的本質(zhì)上都是一樣的,都是對(duì)某個(gè)或者多個(gè)條件進(jìn)行判斷,else只是偷了一下懶,不過它很大度,滿足不了 if 的條件都能滿足它。至于else下一行的do_another_thing就無需多言了,和if中的dosomething一樣,都是滿足某個(gè)條件之后要執(zhí)行的代碼塊。
最后是第三種,生活中的條件不可能全部都只有兩種。在Python中,如果你想處理多個(gè)條件,那第三種分支結(jié)構(gòu)很有必要,第三種分支結(jié)構(gòu)特點(diǎn)是,先if,然后 if 后面可以有多個(gè)elif,elif的意思的如果不滿足前面條件并且滿足elif后面跟著的條件那就執(zhí)行該elif分支下面的代碼塊,這么講可能不好理解,沒關(guān)系,下面有舉例。并且elif的后面可以跟著else,當(dāng)然也可以省略。
以上是一些理論,下面我們將通過一個(gè)兩個(gè)程序來運(yùn)用這些知識(shí)。
# 設(shè)定初始用戶名 account = '123456' # 設(shè)定初始密碼 password = '123456' # 接受用戶輸入的用戶名并存儲(chǔ)到 ac 這個(gè)變量中 ac = input("請(qǐng)輸入用戶名:") # 接受用戶輸入的密碼并存儲(chǔ)到 pwd 這個(gè)變量中 pwd = input("請(qǐng)輸入密碼:") # 判斷輸入的用戶名與給定的用戶名是否一致,如果一致就繼續(xù)判斷密碼與給定的密碼是否一致 if ac==account: # 如果給定的密碼與輸入的密碼一致,輸出 登錄成功 這個(gè)信息 if password == pwd: print("登錄成功!") # 否則(即給定密碼與輸入的密碼不一致),輸出 密碼有誤 這個(gè)信息 else: print("密碼有誤") # 否則(即輸入的用戶名與給定的不一致),輸出 用戶名有誤,登錄失敗 這個(gè)信息 else: print("用戶名有誤,登錄失敗!")上面這個(gè)程序的目的是,從鍵盤中接受用戶輸入的賬戶與密碼,再與給定的賬戶與密碼進(jìn)行比對(duì)以達(dá)到驗(yàn)證登錄的目的。代碼注釋已附上。
age = input("輸入你的年齡:") # 通過 input 函數(shù)接受的輸入類型都是字符串,后續(xù)為了用數(shù)字進(jìn)行比較,故此選用int函數(shù)將字符串轉(zhuǎn)為數(shù)字 age = int(age) # < 用于 數(shù)字的大小比較,即左邊的是否小于右邊 if age<0: print("年齡不會(huì)有比 0 小的吧?") # <= 用于 數(shù)字的大小比較,即左邊的是否小于或者等于右邊, # 只要滿足小于或者等于這其中的任意一個(gè)條件,那么這個(gè)條件就是成立的 elif 0<=age<18: print("祖國的花朵!") elif 18<=age<45: print("祖國的中堅(jiān)力量!") else: print("前輩辛苦了!")上面這個(gè)程序的目的是,從鍵盤中接受用戶輸入的年齡(千萬要記得將其轉(zhuǎn)化為數(shù)字),再根據(jù)特點(diǎn)條件輸出不同提示信息。代碼注釋已附上。
2.Python中的分支的結(jié)構(gòu)常用詞
代碼演示
if以上代碼展示是表格中幾個(gè)關(guān)鍵詞的用法,建議都要熟練掌握。
總結(jié):本文對(duì)Python中基本分支結(jié)構(gòu)進(jìn)行的簡要講解,這一塊的知識(shí)點(diǎn)是非常重要的,大家要好好內(nèi)化。最后,對(duì)文章有疑惑或者發(fā)現(xiàn)文章不妥之處可以在評(píng)論區(qū)留言討論哦!
總結(jié)
以上是生活随笔為你收集整理的else应输入一个语句是什么意思_Python学习基础篇 -4: Python中的转弯---分支语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle crc32函数,CSS_O
- 下一篇: c语言程序设计电加热炉,基于80C52单