摘要:在學(xué)習(xí)語(yǔ)句的時(shí)候,對(duì)編程的基礎(chǔ)知識(shí)了解的還不是很多,或許沒(méi)有做什么太復(fù)雜的東西。可以通過(guò)一個(gè)內(nèi)置函數(shù)來(lái)判斷一個(gè)條件的結(jié)果還是。有朋友需要看完整教程內(nèi)容,請(qǐng)點(diǎn)擊零基礎(chǔ)學(xué),這里會(huì)及時(shí)更新,并且有完整的目錄結(jié)構(gòu),更吸納了朋友們提出的意見(jiàn)和建議。
看官是否記得,在上一部分的時(shí)候,有一講專門(mén)介紹if語(yǔ)句的:從if開(kāi)始語(yǔ)句的征程。在學(xué)習(xí)if語(yǔ)句的時(shí)候,對(duì)python編程的基礎(chǔ)知識(shí)了解的還不是很多,或許沒(méi)有做什么太復(fù)雜的東西。本講,要對(duì)它進(jìn)行一番復(fù)習(xí),通過(guò)復(fù)習(xí)提高一下。如果此前有的東西忘記了,建議首先回頭,看看前面那講。
基本語(yǔ)句結(jié)構(gòu)if 判斷條件1: 執(zhí)行語(yǔ)句1…… elif 判斷條件2: 執(zhí)行語(yǔ)句2…… elif 判斷條件3: 執(zhí)行語(yǔ)句3…… else: 執(zhí)行語(yǔ)句4……
只有當(dāng)“判斷條件”的值是True的時(shí)候,才執(zhí)行下面的執(zhí)行語(yǔ)句。
那么,在python中,怎么知道一個(gè)判斷條件是不是真呢?這個(gè)問(wèn)題我們?cè)谘刍潄y的運(yùn)算符中已經(jīng)講解了一種數(shù)據(jù)類型:布爾類型。可以通過(guò)一個(gè)內(nèi)置函數(shù)bool()來(lái)判斷一個(gè)條件的結(jié)果True還是False。看看下面的例子,是不是能夠理解bool()的判斷規(guī)則?
>>> bool("") False >>> bool(0) False >>> bool("none") True >>> bool(False) False >>> bool("False") True >>> bool(True) True >>> bool("True") True >>> bool(3>4) False >>> bool("b">"a") True >>> bool(not "") True >>> bool(not True) False
忘記了怎么辦?看下面的語(yǔ)句:
if 忘記: 復(fù)習(xí)-->眼花繚亂的運(yùn)算符一講
在執(zhí)行語(yǔ)句中,其實(shí)不一定非要把bool()寫(xiě)上的。如同這樣:
>>> x = 9 >>> if bool(x>7): #條件為T(mén)rue則執(zhí)行下面的 ... print "%d more than 7"%x ... else: ... print "%d not more than 7"%x ... 9 more than 7 >>> if x>7: ... print "%d more than 7"%x ... else: ... print "%d not more than 7"%x ... 9 more than 7
以上兩個(gè)寫(xiě)法是等效的,但是,在實(shí)際的編程中,我們不用if bool(x>7)的格式,而是使用if x>7的樣式,還要特別提醒,如果寫(xiě)成if (x>7),用一個(gè)括號(hào)把條件表達(dá)式括起來(lái),是不是可以呢?可以,但也不是python提倡的。
>>> if (x>7): #不提倡這么寫(xiě),這不是python風(fēng)格 ... print "%d more than 7"%x ... 9 more than 7拉出來(lái)溜溜
平時(shí)總有人在不服氣的時(shí)候說(shuō)“是騾子是馬,拉出來(lái)溜溜”,趙本山有一句名言“走兩步”。其本質(zhì)都是說(shuō)“光說(shuō)不練是假把式”。今天收到一個(gè)朋友的郵件,也詢問(wèn),在學(xué)習(xí)python的時(shí)候,記不住python的內(nèi)容。其實(shí)不用記,我在前面的課程中已經(jīng)反復(fù)講過(guò)了。但是,在應(yīng)用中,會(huì)越來(lái)越熟練。
下面就做一個(gè)練習(xí),要求是:
接收任何字符和數(shù)字的輸入
判斷輸入的內(nèi)容,如果不是整數(shù)是字符,就告訴給用戶;如果是小數(shù),也告訴用戶
如果輸入的是整數(shù),判斷這個(gè)整數(shù)是奇數(shù)還是偶數(shù),并且告訴給用戶
在這個(gè)練習(xí)中,顯然要對(duì)輸入的內(nèi)容進(jìn)行判斷,以下幾點(diǎn)需要看官注意:
通過(guò)raw_input()得到的輸入內(nèi)容,都是str類型
要判斷一個(gè)字符串是否是由純粹數(shù)字組成,可以使用str.isdigit()(建議看官查看該內(nèi)置函數(shù)官方文檔)
下面的代碼是一個(gè)參考:
#! /usr/bin/env python #coding:utf-8 print "請(qǐng)輸入字符串,然后按下回車鍵:" user_input = raw_input() result = user_input.isdigit() if not result: print "您輸入的不完全是數(shù)字" elif int(user_input)%2==0: print "您輸入的是一個(gè)偶數(shù)" elif int(user_input)%2!=0: print "您輸入的是一個(gè)奇數(shù)" else: print "您沒(méi)有輸入什么呢吧"
特別提醒列為,這個(gè)代碼不是非常完善的,還有能夠修改的地方,看官能否完善之?
再來(lái)一個(gè)如何?
已知一個(gè)由整數(shù)構(gòu)成的list,從中跳出奇數(shù)和偶數(shù),并且各放在一個(gè)list中。
請(qǐng)看官在看下面的參考代碼之前,自己寫(xiě)一寫(xiě)。
#!/usr/bin/env python #coding:utf-8 import random numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到隨機(jī)的list odd = [] even = [] for x in numbers: if x%2==0: even.append(x) else: odd.append(x) print numbers print "odd:",odd print "even:",even
用這個(gè)例子演示一下if在list解析中的應(yīng)用。看能不能繼續(xù)改進(jìn)一些呢?
可以將循環(huán)的那部分用下面的list解析代替
#!/usr/bin/env python #coding:utf-8 import random numbers = [random.randint(1,100) for i in range(20)] #以list解析的方式得到隨機(jī)的list odd = [x for x in numbers if x%2!=0] even = [x for x in numbers if x%2==0] print numbers print "odd:",odd print "even:",even一個(gè)有趣的賦值
對(duì)賦值,看官應(yīng)該比較熟悉了吧,如果要復(fù)習(xí),請(qǐng)看《[賦值,簡(jiǎn)單也不簡(jiǎn)單]》(./127.md)以及《[正規(guī)地說(shuō)一句]》(./201.md)的相關(guān)內(nèi)容。
這里說(shuō)的有趣賦值是什么樣子的呢?請(qǐng)看:
>>> name = "qiwsir" if "laoqi" else "github" >>> name "qiwsir" >>> name = "qiwsir" if "" else "python" >>> name "python" >>> name = "qiwsir" if "github" else "" >>> name "qiwsir"
總結(jié)一下:A = Y if X else Z
什么意思,結(jié)合前面的例子,可以看出:
如果X為真,那么就執(zhí)行A=Y
如果X為假,就執(zhí)行A=Z
再看看上面的例子,是不是這樣執(zhí)行呢?
if語(yǔ)句似乎簡(jiǎn)單,但是在編程時(shí)間中常用到。勤加練習(xí)吧。
有朋友需要看完整教程內(nèi)容,請(qǐng)點(diǎn)擊:零基礎(chǔ)學(xué)python,這里會(huì)及時(shí)更新,并且有完整的目錄結(jié)構(gòu),更吸納了朋友們提出的意見(jiàn)和建議。文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/37347.html
摘要:語(yǔ)句,遍列列表字符串字典集合等迭代器,依次處理迭代器中的每個(gè)元素。與配合使用處理在程序運(yùn)行中出現(xiàn)的異常情況。表示此行為空,不運(yùn)行任何操作。在迭代器函數(shù)內(nèi)使用,用于返回一個(gè)元素。恭請(qǐng)到上瀏覽及時(shí)更新的教程零基礎(chǔ)學(xué) 小孩子剛剛開(kāi)始學(xué)說(shuō)話的時(shí)候,常常是一個(gè)字一個(gè)字地開(kāi)始學(xué),比如學(xué)說(shuō)餃子,對(duì)他/她來(lái)講,似乎有點(diǎn)難度,大人也聰明,于是就簡(jiǎn)化了,用餃餃來(lái)代替,其實(shí)就是讓孩子學(xué)會(huì)一個(gè)字就能表達(dá)。當(dāng)然...
摘要:看這個(gè)標(biāo)題,有點(diǎn)匪夷所思嗎為什么是難以想象的呢因?yàn)樵谥校拇_是很常用而且很強(qiáng)悍,強(qiáng)悍到以至于另外一個(gè)被稱之為迭代的東西,在中就有點(diǎn)相形見(jiàn)絀了。然后將序列對(duì)應(yīng)的元素依次組成元組,做為一個(gè)的元素。 看這個(gè)標(biāo)題,有點(diǎn)匪夷所思嗎?為什么for是難以想象的呢?因?yàn)樵趐ython中,它的確是很常用而且很強(qiáng)悍,強(qiáng)悍到以至于另外一個(gè)被稱之為迭代的東西,在python中就有點(diǎn)相形見(jiàn)絀了。在別的語(yǔ)言中,...
摘要:以上原則,是基本原則。比如用指一組賬號(hào),就會(huì)被人誤解為是類型的數(shù)據(jù),事實(shí)上可能是也可能不是。不論如何,要記住一個(gè)標(biāo)準(zhǔn)明確賦值語(yǔ)句對(duì)于賦值語(yǔ)句,看官已經(jīng)不陌生了。其實(shí),賦值的樣式不少,核心就是將變量和某對(duì)象對(duì)應(yīng)起來(lái)。 變量命名 在《初識(shí)永遠(yuǎn)強(qiáng)大的函數(shù)》一文中,有一節(jié)專門(mén)討論取名字的學(xué)問(wèn),就是有關(guān)變量名稱的問(wèn)題,本溫故而知新的原則,這里要復(fù)習(xí): 名稱格式:(下劃線或者字母)+(任意數(shù)目...
摘要:函數(shù)的基本結(jié)構(gòu)中的函數(shù)基本結(jié)構(gòu)函數(shù)名參數(shù)列表語(yǔ)句幾點(diǎn)說(shuō)明函數(shù)名的命名規(guī)則要符合中的命名要求。在中,將這種依賴關(guān)系,稱之為多態(tài)。不要期待在原處修改的函數(shù)會(huì)返回結(jié)果比如一定要之用括號(hào)調(diào)用函數(shù)不要在導(dǎo)入和重載中使用擴(kuò)展名或路徑。 在本教程的開(kāi)始部分,就已經(jīng)引入了函數(shù)的概念:《永遠(yuǎn)強(qiáng)大的函數(shù)》,之所以那時(shí)候就提到函數(shù),是因?yàn)槲矣X(jué)得函數(shù)之重要,遠(yuǎn)遠(yuǎn)超過(guò)一般。這里,重回函數(shù),一是復(fù)習(xí),二是要在已經(jīng)...
摘要:關(guān)于元組,上一講中涉及到了這個(gè)名詞。元組是用圓括號(hào)括起來(lái)的,其中的元素之間用逗號(hào)隔開(kāi)。使用而不是如同擁有一個(gè)隱含的語(yǔ)句,說(shuō)明這一數(shù)據(jù)是常量。必須是不可變的。只有字符串整數(shù)或其它對(duì)安全的才可以用作。 關(guān)于元組,上一講中涉及到了這個(gè)名詞。本講完整地講述它。 先看一個(gè)例子: >>>#變量引用str >>> s = abc >>> s abc >>>#如果這樣寫(xiě),就會(huì)是... >>> t...
閱讀 3427·2021-09-26 09:46
閱讀 2782·2021-09-13 10:23
閱讀 3510·2021-09-07 10:24
閱讀 2387·2019-08-29 13:20
閱讀 2918·2019-08-28 17:57
閱讀 3072·2019-08-26 13:27
閱讀 1174·2019-08-26 12:09
閱讀 505·2019-08-26 10:27