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