python入門第六課:if語句及其列表操作

2020-12-12 傫傫若遺

本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes

本節學習代碼中針對不同情況進行分別處理的方法,關鍵字是if。學完這節,從理論上講,你就可以編寫任意複雜的程序了。因為計算機科學家已經證明了:任何簡單或複雜的算法都可以由順序結構、選擇結構和循環結構這三種基本結構組合而成。順序結構就是一行一行按順序寫的代碼,循環結構就是之前學過的for語句,選擇結構就是用if語句寫出的帶有分支的代碼。

一、if語句介紹

舉個例子,我們需要從眾多的下朋友中找到『小明』,並告訴他,他媽媽喊他回家吃飯了,見下面的代碼:

names = ['小明','小張','小王','小雷','小李']for name in names:if(name == '小明'):print(name,'你媽喊你回家吃飯啦!')

注意if的語句後有一個冒號「:」,少了這個編譯器會報錯。如果把if這條語句注釋掉,則會喊所有的小朋友回家吃飯,見下面的執行結果,現在知道if是做什麼用了吧。

二、條件測試

If語句括號中的代碼被稱為「條件測試」,測試條件的值可以是True或者False。如果值是True,Python就執行緊跟在if 語句後的代碼。如果為False ,Python就不執行這些代碼。

上面if語句中兩個等號「==」的意思是判斷兩邊的值是否相等,如果相等,則整個括號表達式的結果為True,否則是False。因為上例中『小張』等小朋友與『小明』不相等,所以不會執行if後面的print語句。

下面是一些常用的比較符號:

不等於:!=

大於或大於等於:> >=

小於或小於等於:< <=

If語句中的條件測試還可以用and或or來連接,and是兩個條件都滿足才為True,否則為False,而or是兩個條件都不滿足才為False,否則就為True。比如檢查兩個人是否都達到18歲,可以這樣寫:if((age1 >= 18) and (age2 >= 18)),下面是一些例子:

age = 15age2 = 17if(age <= 18):print('未成年人半價')if(age >= 18): #這條不會執行 print('成年人收全價票')if(age != 12): print('您的年齡不是12歲')if(age <= 18 and age2 <=18): print('兩個人都是未成年人,全部收半價票')

三、if語句的拓展

可以用if-elif-else這種形式來進行多次的判斷,如果其中一個條件成立,那麼Python就會執行這個條件下面的代碼,其他條件不管是否成立,裡面的代碼不執行。比如一個景區的景點針對不同年齡段收費,1-8歲免費,9-14歲半價,15-69歲全價,70歲及以上免費,寫這種判斷用if-elif-else最簡單。

ages = [15,4,21,69,77]# 1-8歲免費,9-14歲半價,15-69歲全價,70歲及以上免費for age in ages:if(age < 9 ):print('1-8歲免費',age)elif(age < 15): print('9-14歲半價',age)elif(age < 70): print('15-69歲全價',age)elif(age >= 70): print('70歲及以上免費',age)else: print('這條語句永遠不被執行')

我們稍微改造一下上面的代碼,將elif(age < 15):改成elif(age < 99):,可以看到除了4滿足第一個條件外,其他所有的元素都被第二個條件(age<99)攔截住了,後面的代碼不會執行。

if-elif-else中的else是只前面的所有條件都不滿足才執行它下面的代碼。

if-elif-else雖然好用,但當要判斷多個條件的時候就沒辦法了,這個時候只需要寫多個單獨的if()語句就行。

四、用if語句處理列表元素

我們在第一個例子「小明的媽媽喊他回家吃飯」就展示過用if語句處理列表元素的情況,下面做一些擴展。特別說明一下,用in關鍵字可以判斷一個元素是否在列表中,not in用來判斷元素不在列表中。

1、列表為空

之前我們都默認列表不為空,但列表是可以為空的,如果列表為空,我們可能要做一些初始化的動作,用If語句可以判斷列表是否為空,增加程序的健壯性。

names = []if names:for name in names:if(name == '小明'):print(name,'你媽喊你回家吃飯啦!')else: print('列表為空')

2、多個列表循環

比如我們舉辦了個晚會,提前發了請帖,沒有在清單內的人禁止進入。這裡我們有一個清單列表list_ok,還有一個來參加晚會的人員列表list_forcheck,我們需要對參加的人逐個篩選,在清單內的人列印「歡迎光臨」,不在清單內的人列印「抱歉!沒有邀請函無法進入!」。

list_ok = ['小明','小張','小王','小雷','小李']list_forcheck = ['小明','小於','小張','小王','小英','小雷','小李']for member in list_forcheck:if(member in list_ok):print(member,'歡迎光臨!')else: print(member,'抱歉!沒有邀請函無法進入!')

#Python入門教程#

長按文末點讚送三連,支持本文作者多寫點~

相關焦點

  • python入門第八課:while循環和用戶輸入
    本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes本節介紹python中如何與用戶進行交互,同時學習另外一個循環運算符while。比如我們對上面的例子稍加改造,可以看到當輸入quit的時候,執行break語句,循環終止了。
  • Python3.9官方文檔翻譯版python簡介之列表
    最常用的是列表,它的語法為用方括號將數據組合,中間使用英文逗號分隔,列表可以包含不同類型的項,但通常項為相同類型。This means that the following slice returns a shallow copy of the list:自譯:所有的切片操作會返回一個包含請求元素的新列表。這意味著輸出的切片返回的是列表的淺複製。
  • 零基礎學編程python第十課,for……in循環語句與while循環語句
    上一課,我們學習了兩種新的數據類型: 列表與字典。這節課,帶大家來學習一下【循環】,什麼是循環? 就是把一件事情一遍又一遍重複做多遍。每個人的工作和生活中都充滿了循環,比如你要在操場上跑步5圈鍛鍊身體,比如銷售要一遍又一遍給別人介紹產品,比如高三考生高考前每天三點一線的生活。
  • 慢步學習,python編程實例中,對遍歷程序結構for語句的解析
    大家好,慢步繼續不定期更新通俗易懂的python編程學習內容。今天主要說說for語句。for語句是比較常見的語句,其實也算比較簡單的,多看幾個實例就可以了解。但慢步還是想囉嗦一些,跟大家解析一下。第6行為引用python-docx庫內的Document模塊(python-docx庫的引用默認為docx,和庫設計有關,其他庫一般用庫名稱)。第8行,打開word文檔(123.docx),用變量d來指代打開的文檔,後面代碼中 d 就是我們這裡打開的123.docx。
  • 零基礎快速入門python教程,結合新手練習的5大項目
    如何運行Python通常來講有二種方式,一種方式是交互式的,就像Shell命令行提示符那樣,交互式的,輸入,就有輸出;在終端輸入python命令,就進入了Python的命令提示符中:>>>輸入Python語句,解釋器就會執行,並輸出結果,如:[python] view plain copy[alex@alexon
  • python入門第十課:函數任意個參數傳遞、返回值,函數模塊化方法
    本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes本節繼續介紹函數的一些特性,包括返回值,任意個參數傳遞,列表作為函數參數等。一、函數的返回值函數的一個很重要的功能是有返回值,函數使用return語句將結果返回給主函數。
  • 11個python列表方法全面解析!
    來源:AI入門學習列表是python裡很重要的數據類型,其中的方法總共有11個,數量掌握這些方法,對數據的處理效率會大大提高,現在分享給大家。參數:object可以添加 列表,字典,元組,集合,字符串等。#append()函數的操作對象是原列表。
  • 零基礎學習python,這幾本書少不了
    目前,社會上已經掀起了一波學習python的熱潮,但是很多人由於並沒有python基礎,不知道從哪裡開始學習,小編今天整理了零基礎學習python的一些書籍,希望對大家有所幫助。1.《"笨辦法"學Python》推薦理由:本書是一本python入門書籍,比較適合沒有計算機、編程基礎,但是對python感興趣的小白學習使用。這本書是以習題的方式一步一步引導讀者了解、學習python,從簡單的列印一直講到完整項目的實踐,讓初學者從基礎的python知識入手,最終體驗到軟體開發的基本過程。
  • python 爬蟲學習路線:從入門到進階
    這裡給你一條平滑的、快速入門的學習路徑。本文依舊需要有一些python基礎,至少要求掌握python語法。前置條件:python開發環境首先,學習python爬蟲,需要會:自己安裝python,python庫以及自己的編輯器。
  • 《小灰教你零基礎學python》-Python入門語言
    程式語言有很多,咱們就學簡單強大的python即可。Python是一種清晰而強大的面向對象程式語言,不過還沒入門的小白不要想多了哈,不是你的對象(女朋友?)Python目前是分成2個大版本,python2 和python3,python是完全免費的,所以不用擔心版權問題,因為python2已經廢棄,所以咱們這套課程完全基於python3。
  • Python最佳經典學習路線
    如何學習Python python語言基礎:(帶你熟悉python語言的特性,學會使用python開發環境,使用python開發一些簡單的案例) (1)Python3入門,數據類型,字符串 (2)判斷/循環語句,函數,
  • 寫Python 代碼不可不知的函數式編程技術
    如果我們想在對列表執行迭代時進行列印以外的其他操作要怎麼做呢?這就是高階函數存在的意義。現在,我們不僅可以在列印列表時調用該函數,還可以對涉及序列迭代的列表執行任意操作。函數還能被返回,從而使事情變得更加簡單。就像我們在 dict 中存儲函數一樣,我們還可以將函數作為控制語句,來決定適合的函數。
  • Blender遊戲引擎的 Python 腳本
    名稱很重要,因為我們將在 python 腳本中按名稱調用這些傳感器。對於"up"傳感器,還啟用"Tap"選項,以便此傳感器僅在您按下該鍵時註冊一次,否則,在釋放密鑰時,它也會再次註冊。點擊可確保傳感器僅觸發一次。將這兩個傳感器連接到 python 控制器,以便當按下其中任一按鈕時運行 python 腳本。現在還添加一個運動執行器並將其連接到控制器。將執行器重命名為"移動"。
  • 從Python入門講起……
    如果你需要與人類語言近乎相同的程式語言,那麼python適合你。當你和你的朋友說話時,你不需要在結尾加一個分號,也不需要提及你所談論的數據類型,這就是人類語言。即使作為一種程式語言,Python也有同樣的特性。看完下面的內容,你就相當於已經入門Python了,開始吧!
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    基於liunx系統的python教程,課程裡也有liunx操作的詳細教學,不用擔心學習時不會操作liunx系統。變量的計算和輸入輸出 08 變量的命名 09 if判斷語句 10 石頭剪刀布 11 while循環基本使用 12循環嵌套 13 函數的基本使用 14 函數的參數和返回值 15函數的嵌套調用 16模塊的簡介 17列表 18元祖 19字典
  • 0基礎入門Python學習步驟如何安排?
    只有這樣才能朝著目標持續前進,少走彎路,從學習中得到不斷的提升,享受python學習計劃的過程。 雖然目前的程式語言有很多,但是基礎語法上的概念,本質上都是相通的。可以做到一通百通。所以沒有必要為了學哪門語言糾結太多。
  • Python 初學者進階的九大技能
    對於初學者來說,Python是入門最簡單的語言之一。Python有大量的庫支持,你還可以安裝其他庫來增加自己的編程經驗。學了一陣子之後,你可能會覺得:為如此簡單的操作寫大量的代碼有些令人困惑。實際上,事情並沒有你想得那麼糟。理解其背後的邏輯比寫幾行代碼更為重要。
  • Python零基礎入門教程,流程控制有哪些?
    大綱條件控制(if結構、if-else結構、if-elif-else結構)循環語句(while語句、for語句)跳轉關鍵字(continue、break)if結構if 條件: 語句while語句實例演示for 語句可以迭代對象包括字符串、列表、元組、集合和字典等。
  • 西安雁塔Python少兒編程課一節多少錢?
    樂博樂博Python課程內容包含Python語言編程基礎,變量、判斷語句、循環語句、列表、函數,以及面向對象編程思想,應用數學思維實現經典數學思想,使用pyqt及pygame模塊編程設計2D遊戲。樂博Python少兒編程課  單元 單元名稱
  • python初學者必看的學習路線 Python是近幾年比較火的程式語言
    Python是近幾年比較火的程式語言之一,因為人工智慧的火爆,讓很多人都想從事python開發。很多零基礎學員在學習python的時候都會走一些彎路,下面小編就為大家分享python學習路線圖,幫助零基礎學員在學習的時候少走彎路。 很多人都在問Python學習步驟應該如何安排?