《Python程序設計基礎》 課件全套 崔曉軍 第1-10章 初識 Python - 實戰項目之 Pandas 和Matplotlib_第1頁
《Python程序設計基礎》 課件全套 崔曉軍 第1-10章 初識 Python - 實戰項目之 Pandas 和Matplotlib_第2頁
《Python程序設計基礎》 課件全套 崔曉軍 第1-10章 初識 Python - 實戰項目之 Pandas 和Matplotlib_第3頁
《Python程序設計基礎》 課件全套 崔曉軍 第1-10章 初識 Python - 實戰項目之 Pandas 和Matplotlib_第4頁
《Python程序設計基礎》 課件全套 崔曉軍 第1-10章 初識 Python - 實戰項目之 Pandas 和Matplotlib_第5頁
已閱讀5頁,還剩768頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章初識PythonPython介紹PythonIDE開發工具Python變量及基本類型輸入、輸出及代碼調試思維導圖知識目標掌握掌握掌握了解Python語言的特點以及熟悉PythonIDE開發工具12掌握Python變量及

基本類型掌握輸入、輸出

及代碼調試的方法3技能目標掌握掌握掌握掌握Python開發環境的配置12熟悉PyCharm的基本功能操作學會編寫簡單的應用程序

4掌握簡單代碼的編寫、調試和運行3思政目標A1.舉一反三的創新思維和創新能力是成功的必備素養。B2.通過程序調試糾錯,培養學生耐心、專注、堅持的工匠精神。C3.通過王選的“‘當代畢昇’的戰術人生”的學習,激勵學生增強文化自信,爭做文繼承者和弘揚者。目錄PythonIDE開發工具1.21.1Python介紹1.3Python變量及基本類型1.4輸入、輸出及代碼調試知識架構1.1Python介紹1python發展2python語言優勢3配置python開發環境4Python3.x和Python2.x的區別5學生實踐練習1.1Python介紹1

Python的發展

Python是一種很靈活的語言,可以幫助開發人員輕松地完成編程工作。它是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。Python已經具有近20年的發展歷史,是一門成熟并且穩定的編程語言。在2021年9月TIOBE排行榜中,Python已超越Java占據排行榜第二位。

Python可以應用于眾多領域,如,數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等領域。目前業內幾乎所有大中型互聯網企業都在使用Python,如Youtube、Dropbox、BT、Quora、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家及美團等。1.1Python介紹2

Python語言優勢

簡單Python是一種代表簡單主義思想的語言,語法極其簡單。開源Python是開放源碼軟件(FLOSS)之一。簡而言之,可以自由地發布這個軟件的拷貝,閱讀它的源代碼,對它做修改及把它的一部分用于新的自由軟件中。可移植性在計算機內部,Python解釋器把源代碼轉換成字節碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行,這使得使用Python更加簡單,也使得Python程序更加易于移植。面向對象Python既支持面向過程的編程,也支持面向對象的編程。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。Python以一種非常強大又簡單的方式實現面向對象編程。可擴展性

如果需要一段關鍵代碼運行得更快或者希望某些算法不公開,部分程序可以用C或C++語言進行編寫,然后在Python程序中使用它們,把Python嵌入C、C++程序,從而向程序用戶提供腳本功能。豐富的庫

Python標準庫確實很龐大。除了標準庫,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等。1.1Python介紹3

配置python開發環境

在Windows中安裝Python程序,參考步驟如下:(1)打開Web瀏覽器,訪問/downloads/windows/。(2)在打開的網頁中選擇“LatestPython3Release-Python3.7.4”鏈接,如圖所示。

該版本對應Python3.x版本的安裝程序(具體描述參考下面的Python3.x與Python2.x的區別)。如果操作系統版本為64位,則選擇Files目錄下的“Windowsx86-64executableinstaller”;如果操作系統版本為32位,則選擇“Windowsx86executableinstaller”,如圖所示。1.1Python介紹3

配置python開發環境(3)

在Windows瀏覽器中雙擊運行下載的文件,會開啟一個Python的安裝向導,安裝向導比較簡單,只需要接受默認設置,等待安裝程序完成,就能使用Python了。1.1Python介紹3

配置python開發環境(4)安裝成功后,單擊菜單欄中的“開始”→

“程序”→“Python”→“IDLE”,也可以在Windows搜索框中直接搜索“IDLE”,即可在安裝程序中找到IDLE(PythonGUI),運行Python集成開發環境(PythonIntegratedDevelopmentEnvironment,IDLE)。(5)配置環境變量,需要在系統環境變量Path配置中添加Python的安裝目錄及安裝目錄下Scripts目錄的路徑。例如,安裝目錄為C:\python37,則需要將“C:\python37”和“C:\python37\Scripts”添加到Path環境變量中。添加到Path環境變量的具體操作如下:(1)右擊“此電腦”圖標,選擇“屬性”選項,在彈出窗口的左側選擇“高級系統設置”選項卡。(2)選擇“高級”選項卡并單擊“環境變量”按鈕,在系統變量區域選擇Path變量,單擊“編輯”按鈕。(3)添加Python的兩個目錄,如,“C:\python37”和“C:\python37\Scripts”,多個目錄配置之間用“;”隔開,最后單擊“應用”和“確定”按鈕。1.1Python介紹4

Python3.x和Python2.x的區別

Python3.x和Python2.x在語法上的區別主要有以下6點:(1)Python3.x源碼文件默認使用utf-8編碼,而在Python2.x版本中,Python文件如果出現中文,則需要在第一行加“#coding:utf-8”注釋。(2)Python3.x去除了“<>”,全部改用“!=”;去除“``”,全部改用repr()。(3)Python3.x版本關鍵詞加入as和with,還有True、False和None。(4)Python3.x版本整型除法返回浮點數,要得到整型結果,需使用“//”。(5)Python3.x版本加入nonlocal語句。使用nonlocalx可以直接指派外圍(非全局)變量。(6)Python3.x版本去除print語句,加入print()函數實現相同的功能。同樣地,還有exec語句,已經改為exec()函數等。1.1Python介紹5

學生實踐練習1.需求說明

在IDLE工具中先輸入學生的成績,再輸出學生成績對應的級別。如果學生的成績大于等于90分,則輸出“A”;如果學生的成績大于等于75分且小于90分,則輸出“B”;如果學生的成績大于等于60分且小于75分,則輸出“C”;如果學生的成績小于60分,則輸出“D”。2.實現思路(1)依次單擊菜單欄中的“開始”→“程序”→“Python”→“IDLE”,打開Python集成開發環境。(2)使用input()函數輸入學生的成績。(3)使用“if…elif”多分支結構判斷學生成績。(4)使用print語句輸出對應的信息。(5)打開IDLE工具,在IDLE工具中編寫代碼,如圖所示。知識架構1.2PythonIDE開發工具1集成開發環境2創建Python工程3編碼規范4學生實踐練習1.2PythonIDE開發工具1

集成開發環境

1.內置的集成開發環境IDLE

IDLE是Python標準發行版內置的一個簡單小巧的IDE,包括了交互式命令行、編輯器和調試器等基本組件,足以應付大多數簡單應用。IDLE功能一般,不夠強大完整,但簡便易得,是入門的最好選擇,能夠讓用戶更專注于語言本身而不被繁復的IDE分散精力。2.PythonWin

PythonWin是PythonWin32Extensions(半官方性質的PythonforWin32增強包)的一部分,也包含在ActivePython的Windows發行版中。PythonWin32Extensions,顧名思義只針對Win32平臺。總體而言,PythonWin是一個增強版的IDLE,尤其是易用性方面(如同Windows本身的風格一樣)。除了易用性和穩定性,其代碼提示和更強的調試器都是相對于IDLE的明顯優勢。1.2PythonIDE開發工具1

集成開發環境

3.MacPythonIDEMacPythonIDE是Python的macOS發行版內置的IDE,可以看作是PythonWin的Mac對應版本,由JustvanRossum編寫。4.Eclipse+PyDevEclipse是新一代的優秀泛用型IDE,基于Java技術開發。PyDev是Eclipse上的Python開發插件中最成熟完善的一個,而且還在持續的開發中。1.2PythonIDE開發工具1

集成開發環境

5.PyCharm(重點推薦)PyCharm是由JetBrains打造的一款PythonIDE,PyCharm具備一般PythonIDE的功能,如調試、語法高亮、項目管理、代碼跳轉、智能提示、自動完成、單元測試及版本控制等。另外,PyCharm還提供了一些很好的功能用于Django開發,同時支持GoogleAppEngine和IronPython。打開Web瀏覽器,輸入PyCharm官方下載地址(/pycharm/download/),打開后,PyCharm官方首頁如圖所示。1.2PythonIDE開發工具1

集成開發環境

單擊“DOWNLOADNOW”按鈕進入PyCharm版本選擇頁,考慮到Professional專業版是收費的,Community社區版是免費的,且該版本功能齊全,足夠使用,因此在此處選擇“Community”社區版。PyCharm版本選擇如圖所示。

下載完成后,雙擊“安裝”按鈕,使用默認配置按照安裝引導頁逐步執行。1.2PythonIDE開發工具2

創建Python工程

打開PyCharm開發工具,選擇“File→NewProject…”創建一個新的工程。彈出窗口,如圖1.11所示,將Location輸入框中的“untitled”改為需要創建的工程名稱,如“chapter01”。1.2PythonIDE開發工具2

創建Python工程

修改完成后,單擊“Create”按鈕創建工程。PyCharm將彈出如圖所示的窗口。選擇“ThisWindow”表示在當前窗口中打開該工程,原有項目將會關閉,選擇“NewWindow”表示在新的窗口中打開工程,選擇“Attach”表示在當前窗口中打開工程,并保留原有項目,選擇“Cancel”表示取消創建項目。1.2PythonIDE開發工具2

創建Python工程

單擊“OK”按鈕就會打開Python的工程界面,如圖所示。在工程文件夾上單擊右鍵,選擇“New”選項,就可以選擇需要創建的各種類型的文件或文件夾。

1.2PythonIDE開發工具3

編碼規范

在編寫Python代碼時,需要注意以下6個方面:(1)代碼縮進使用4個空格的縮進,不使用Tab鍵,更不能混合使用Tab鍵和空格。(2)每行代碼字符長度不能超過80個,換行可以使用反斜杠,換行時要在反斜杠后邊敲回車鍵。代碼如下:(6)Python的命名規范基本與Java保持一致。(3)不要在行尾加分號,也不要用分號將兩條命令放在同一行。(4)Python使用#作為單行注釋,表示作用于該行。(5)多行注釋使用三引號''''''表示。代碼如下:1.2PythonIDE開發工具4

學生實踐練習

1.需求說明

所謂“水仙花數”是指一個三位數,其各位數字立方和等于該數本身。例如,153是一個“水仙花數”,因為153=13+53+33。實現要求如下:(1)使用PyCharm開發工具打印出所有三位數的“水仙花數”。(2)設置斷點,調試該程序,查看個、十和百位上變量的值。(3)在程序中至少添加兩個單行注釋和多行注釋。2.實現思路(1)循環遍歷100~999。(2)分別獲取循環數值的個、十和百位上的數字。(3)判斷個、十和百位上的數字的立方和是否等于該數字本身。(4)使用#和三引號“''''''”添加注釋。知識架構1.3Python變量及基本類型1變量2基本類型3類型轉換4學生實踐練習1.3Python變量及基本類型1

變量

變量是程序中存儲數據的基本單元,在該存儲空間中,存儲的數據值可以改變。通過變量名可以簡單快速地找到它存儲的數據。使用變量的步驟如下。(1)聲明變量:根據類型開辟空間。(2)賦值:將數據存入空間。(3)使用變量:操作數據。Python變量不需要類型聲明,Python變量的聲明和賦值必須是一起的,不能單獨分開。等號“=”用來給變量賦值。【語法】例如,定義一個變量age,值為32,代碼如下:變量名=值age=321.3Python變量及基本類型1

變量

counter=100#賦值整型變量miles=1000.0#浮點型name="John"#字符串print(counter)#控制臺輸出counter變量print(miles)#控制臺輸出miles變量print(name)#控制臺輸出name變量

變量使用與其他語言類似,通過變量名就可以訪問其中存儲的數據。參考代碼如下:1.3Python變量及基本類型2

基本類型

1.整數類型

整數一般用十進制表示,方便時也可以用其他進制表示。與Java語言相同,長整型在數值后面加大寫或小寫的“l”,避免與數字“1”混淆,建議使用大寫“L”。例如,定義長整型的變量,代碼如下:var1=300Lvar1=3.14159262.浮點類型

Python提供了float和decimal。float存放雙精度的浮點數。例如,定義圓周率pi,代碼如下:3.布爾類型

Python提供了兩種內置的布爾型對象:True和False,0和False都表示False,其他整數和True都表示True。例如,定義兩個布爾變量,代碼如下:bool01=Falsebool02=True1.3Python變量及基本類型2

基本類型

4.字符串

字符串是Python中最常用的數據類型。在Python中使用字符串,主要有以下3種方式。(1)使用單引號(')。用單引號括起來表示字符串,代碼如下:str='thisisstring'print(str)str="thisisstring"print(str)(2)使用雙引號(")。雙引號中的字符串與單引號中的字符串用法完全相同,代碼如下:(3)使用三引號(''')。利用三引號,表示多行的字符串,可以在三引號中自由地使用單引號和雙引號,代碼如下:str='''thisisstringthisispythodstringthisisstring'''print(str)1.3Python變量及基本類型3

類型轉換

Python類型轉換函數:1.3Python變量及基本類型4

學生實踐練習

1.需求說明

TIOBE2017年6月編程語言排行榜中,Python打敗C#語言排名第4位,占據4.333%的比例。前5位語言分別為Java、C、C++、Python、C#。請完成以下步驟:(1)定義3個變量,分別存儲Python語言的名稱、排名和占據比例。(2)定義一個列表,按排名順序存儲前5位語言名稱。(3)分別輸出列表中的前3門語言、第3位到第4位之間的語言和第3位之后的語言,及Python語言在列表中的位置。2.實現思路(1)聲明不同的變量,分別保存名稱、排名和占據比例。(2)使用輸出函數輸出Python的名稱、排名等。(3)通過[頭下標:尾下標]的方式,截取列表中的值及列表函數的使用。知識架構1.4輸入、輸出及代碼調試1輸入和輸出2代碼調試3學生實踐練習1.4輸入、輸出及代碼調試1

1.Python輸入

Python2.x中提供了兩種輸入函數,分別是raw_input()函數和input()函數,兩者都可以接收用戶輸入的字符串,但是raw_input()函數僅接收字符串,而input()函數可以接收字符串和數值,并能進行簡單的計算。簡而言之,raw_input()獲取用戶的原始輸入,input()會把用戶輸入的內容當作代碼來執行。因此,函數input()比raw_input()使用得更為廣泛。

例如,讓用戶輸入name的字符串,并保存在name這個變量里,語句如下:name=input()

同時,也可以在input()括號里輸入提示用戶輸入的信息。例如,提示用戶輸入名字,語句如下:name=input('請輸入您的名字:')1.4輸入、輸出及代碼調試1

2.Python的基本輸出

1)輸出單個字符串

print結構是Python2.x中標準的基本輸出函數,輸出時可以使用空格或者小括號。在打印字符串的時候,需要使用單引號“''”或者雙引號“""”來包裹需要輸出的字符串,這兩種的功能是一樣的。Python3.x中print必須使用括號,因為它是一個函數。使用語法如下:print(values,sep,end,file,flush)(1)values表示需要輸出的值,如果有多個值,使用逗號“,”隔開。(2)sep表示分隔符,多個值被輸出時,值與值之間會添加指定的分隔符。(3)end表示輸出完畢后,指定的結束字符,默認是換行符“\n”。(4)file表示輸出的目標,默認是輸出到控制臺,即file=sys.stdout。另外還可以是一個寫入的文件,例如:f=open(“xxx”,”w”)file=f1.4輸入、輸出及代碼調試1

2.Python的基本輸出

(5)flush表示結果是否立即輸出,值為Bool類型,默認為False,表示立即輸出。Python在輸出結果時,首先將需要輸出的數據存放到緩存區,然后由flush決定是否刷新緩存區并輸出結果。

例如,輸出“hello,world!”,使用input()函數輸出,語句如下:print("helloworld")

2)輸出多個字符串除了輸出單個字符串,也可以拼接多個字符串:(1)print后用空格輸出,應使用逗號“,”隔開多個字符串。(2)print后用括號輸出,應使用加號“+”拼接多個字符串。

例如,輸出拼接的"hello,world!""welove""python"三個字段。語句如下:print"hello,world!","welove","python"#逗號拼接print("hello,world!"+"welove"+"python")#加號拼接1.4輸入、輸出及代碼調試1

2.Python的基本輸出

3)輸出簡單運算

在print輸出中,還可以實現簡單的運算(加法+、減法?、乘法*和除法/),但是要注意字符串不可以直接和數字相加,否則出現錯誤。print(1+1)print(3-1)print(3*4)print(12/4)print('iphone'+str(4))#使用str()函數轉換為字符串后相加print('iphone'+'4')#加上單引號或者雙引號轉換為字符串后相加

4)

輸出中包含函數print輸出中可以包含Python內置的函數,

如int()和float()函數,當int()函數括號中是一個浮點型數時,

int會保留整數部分,如int(1.9),會輸出1,而不是四舍五入。print(int('2')+3)#int為定義整數型print(int(1.9))#當int一個浮點型數時,int會保留整數部分print(float('1.2')+3)#float()是浮點型,可以把字符串轉換成小數1.4輸入、輸出及代碼調試1

2.Python的基本輸出

5)輸出中包含特殊符號

當輸出的字符串中包含單引號、雙引號或者轉義字符時,輸出會報錯或者不能得到想要的數據。因此,當輸出的字符串中有單引號時,應使用雙引號包裹整個字符串,反之,用單引號包裹有雙引號的字符串,代碼如下:print("I'mpython")

print輸出中包含特殊符號時,解決方法如下:(1)當字符串中包含單引號,整個字符串用雙引號包裹;當字符串中包含雙引號,整個字符串用單引號包裹。(2)當字符串中包含轉義字符,如\n、\t等,應在前加上斜杠“\”。

例如,輸出字符串\t,應使用斜杠“\”,語句如下:print("\\t")1.4輸入、輸出及代碼調試1

3.Python的格式輸出

Python的格式化輸出和C語言一樣,需要使用占位符,占位符有兩種表現形式:%方式和format方式。

1)%方式常用的%占位符見表1.4輸入、輸出及代碼調試1

3.Python的格式輸出

使用%占位符的print輸出格式如下:

print"包含%占位符的字符串"%變量/常量或print("包含%占位符的字符串"%變量/常量)2)format方式

Python中內置的%占位符可用于格式化字符串操作,控制字符串的呈現格式。另外,Python還有一個更強大的字符串處理函數str.format(),它通過{}和:來代替%。format占位需要結合{}使用,{}中可以帶入相關變量的相關參數,format的{}格式如下:[[fill]align][sign][#][0][width][,][.precision][type]1.4輸入、輸出及代碼調試2

代碼調試

1.設置斷點

1.4輸入、輸出及代碼調試2

代碼調試

2.斷點調試3.查看變量值當光標放到變量上,工具就會提示該變量的值。1.4輸入、輸出及代碼調試2

學生實踐練習

1.需求說明

使用PyCharm編寫一個Python程序,輸入服務器信息,包括服務器名、IP、使用年限、CPU、內存等,然后按照如下格式顯示服務器信息:服務器信息服務器名:xxxxIP:xxxx使用年限:xxxxCPU:xxxx內存:xxxxx2.實現思路(1)使用input()函數錄入服務器信息。(2)按照要求的格式,使用print()函數輸出。

本章總結1

1.簡述Python語言及其應用的領域。

Python是一種很靈活的語言,可以幫助開發人員輕松完成編程工作。它是一個高層次的結合了解釋性、編譯性、互動性和面向對象的腳本語言。Python可以應用于眾多領域,如數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等眾多領域。目前,業內幾乎所有大中型互聯網企業都在使用。它還具有簡單、免費、開源、可移植性、面向對象、可擴展性及豐富的庫等特性。2.Python程序是怎樣開發與運行的?

Python程序開發需要在操作系統中安裝Python程序,可以使用Python集成開發環境IDLE編寫程序,也可以使用各種專業工具(如PyCharm)進行開發。Python解釋器使用“一次執行一條語句”的方式運行程序,使用縮進的方式作為類、方法、控制和循環的執行代碼塊。

本章總結1

3.Python變量怎樣定義及包括哪幾種基本類型?

Python程序中變量不需要類型聲明,變量的聲明和賦值必須是一起的,不能單獨分開。等號“=”用來給變量賦值。使用“變量名=值”語句定義變量并賦值。Python包括整數類型、布爾類型、浮點類型及字符串等4種基本類型。4.Python的輸入和輸出如何實現?

在Python3.x版本中,輸入使用input()函數實現,輸出使用print()函數實現。

本章實訓1

1.使用Python編寫實現將華氏度轉化為攝氏度的程序。提示:攝氏度=(華氏度?32)÷1.82.使用Python編寫實現英寸和磅轉換成厘米和千克的程序。提示:1英寸=0.0254米,1磅=0.453592千克3.編寫應用程序:依次從鍵盤輸入學生姓名,學生的語文、數學、英語科目成績,計算該學生的總成績、平均成績并打印(平均成績保留兩位小數點),計算該學生語文成績占總成績的百分比。4.使用Python編寫實現根據輸入的身高和體重計算身體質量指數程序。提示:身體質量指數,是BMI(BodyMassIndex)指數,是國際上常用的衡量人體胖瘦程度及是否健康的一個標準。計算公式為:BMI=體重÷身高2(體重單位:千克;身高單位:米)。第2章

Python的基本語法數據運算選擇結構循環結構for循環思維導圖知識目標掌握掌握掌握12掌握選擇結構用法掌握

while循環結構用法4掌握for循環結構用法3掌握Python運算符

和表達式技能目標掌握掌握掌握掌握運算符及表達式的編程應用12掌握選擇結構的編程應用3掌握while循環的編程應用4掌握for循環的編程應用思政目標123舉一反三的創新思維和創新能力是成功的必備素養通過程序調試糾錯,培養學生耐心,專注,堅持的工匠精神通過“王永民發明五筆字型,漢字輸入實現‘登頂一跳’”的學習,激勵學生增強文化自信,爭做文化傳承的繼承者和弘揚者目錄選擇結構2.22.1數據運算2.3循環結構2.4for循環知識架構2.1數據運算1運算符2運算優先級3學生實踐練習2.1數據運算1運算符

常用的運算符有以下7個。1.算術運算符

與Java相同,Python運算符分別使用+、?、*、/、%實現加、減、乘、除、取模操作。Python語言還提供了兩個算術運算符,一個為“**”(冪),x**y表示返回x的y次冪,如定義變量a=10**2,則a的值為10的2次方等于100。另外一個為“//”(取整除),返回商的整數部分,如定義變量b=9//2,則b的值為9/2=4.5,取整數部分結果為4。2.比較運算符

在Python語言中,提供了“!=”和“<>”兩種不等于的運算符。其他的比較運算符==(等于)、>(大于)、<(小于)、>=(大于或等于)及<=(小于或等于)的使用和Java語言相同。2.1數據運算1

3.賦值運算符

Python語言中,使用“=”作為賦值符號,另外還有一種和算術運算符結合一起使用的賦值運算符,稱為復合賦值運算符,詳見表2.1。2.1數據運算1

4.位運算符表2.2中變量a為60,b為13,二進制格式如下:位運算符列表詳情見表2.2。a=00111100b=000011012.1數據運算14.位運算符2.1數據運算15.邏輯運算符

邏輯運算符列表詳情見表2.3。6.成員運算符成員運算符列表詳情見表2.4。2.1數據運算1

7.身份運算符

身份運算符列表詳情見表2.5。【示例2.1】輸出使用各種運算符之后的結果。

#算術運算符和復合賦值運算符2.1數據運算1

7.身份運算符a=2b=3c=16print("a+b=%d\ta*b=%d\tb-a=%d\tb/a=%d"%(a+b,a*b,b-a,b/a))print("b%a=",b%a)print("a**b(a的b次方)為:",a**b)print("c//b(c整除b)為:",c//b)#位運算符a=0b1001#定義二進制數1001,十進制表示9b=0b1101#十進制表示13print("a&b=%d\ta|b=%d\tb^a=%d\t~a=%d"%(a&b,a|b,b^a,~a))#邏輯運算符bool_a=Truebool_b=Falseprint("bool_aandbool_b等于",bool_aandbool_b)print("bool_aorbool_b等于",bool_aorbool_b)print("notbool_a等于",notbool_a)#成員運算符list=["trumple",23,"John"]print("'trumple'inlist等于",'trumple'inlist)print("'trumple'notinlist等于",'trumple'notinlist)#身份運算符c=5a=b=cprint("aisb",aisb)print("aisc",aisc)2.1數據運算1

7.身份運算符輸出使用各種運算符之后的結果如圖2.1所示。

通過圖2.1的運行結果可以看出,Python運算符大部分與Java語言類似。Python語言使用and和or作為“與”和“或”的運算符。添加了in操作符,判斷某個值是否在指定序列中。通過is操作符,判斷兩個標識符是不是引用自同一個對象。2.1數據運算2運算優先級

在Python程序中,各個運算符根據表2.6的內容,按照從上往下的順序依次執行。2.1數據運算2

運算優先級

【示例2.2】輸出多個變量之間使用各種運算符之后的結果。

程序分析:定義5個變量,5個變量之間可以交叉使用各種加(+)、減(?)、乘(*)、除(/)、取模(%)及括號等運算符。a=20b=10c=15d=5f=7e=(a+b)*c/d#(30*15)/5print("(a+b)*c/d運算結果為:",e)e=((a+b)*c)/d#(30*15)/5print("((a+b)*c)/d運算結果為:",e)e=(a+b%f)*(c/d)#(30)*(15/5)print("(a+b%f)*(c/d)運算結果為:",e)e=a+(b*c)/d%f#20+(150/5)print("a+(b*c)/d%f運算結果為:",e)2.1數據運算2運算優先級

輸出多個變量之間使用不同運算符之后的結果如圖2.2所示。

通過圖2.2所示的運行結果可以看出,Python運算符優先級基本和Java語言類似。如果想要某一個部分優先執行,可以將該部分代碼用小括號“()”包含起來。2.1數據運算3學生實踐練習

1.需求說明

某客戶在網上商城購買了一部手機,單價為5688元;購買了一個數碼相機,單價為2350元;又購買了2件襯衫,單價為120元;運動鞋3雙,單價為300元。目前商城打折促銷,數碼類產品一律打88折,衣服、鞋具類打9折。該客戶卡上有1萬元,請計算購買后卡上的余額。2.實現思路(1)先計算客戶此次網購所需的費用。(2)將卡上的金額減去所需的費用得出卡上的余額。知識架構2.2選擇結構1if選擇結構2if-else選擇結構3多重if語句4學生實踐練習2.2選擇結構1

Python提供了順序、條件和循環三種基本的流程控制結構,其中順序結構按照書寫順序依次執行所有的語句。條件選擇結構則是根據條件判斷結果來決定程序的執行流程。if選擇結構

單分支if語句是最基本的條件語句之一,它根據判斷指定條件是否成立來決定是否執行特定代碼。【語法】if條件表達式如下:

語句#條件成立時執行的代碼2.2選擇結構1if選擇結構

單分支if結構工作流程圖如圖2.4所示。

當條件表達式為真時,執行語句塊,為假時,跳過語句塊。若if語句后還存在其他語句,則繼續執行。

輸入商品價格,如果商品價格大于100,則商品打8折。可以通過以下代碼實現:price=int(input("請輸入商品的價格:"))#獲取輸入的商品價格并轉換為整數ifprice>100:#當商品價格滿足超出100的條件時,就會執行price=price*0.8語句

price=price*0.8#商品價格打8折2.2選擇結構2if-else選擇結構

單分支if語句只針對條件表達式為“真”時給出相應的處理,但對于條件表達式為“假”時沒有進行任何的處理。若需要對條件表達式為“真”和“假”執行不同的處理,則可以使用雙分支if結構。【語法】if條件表達式:

雙分支if結構工作流程如圖2.5所示。

當條件表達式條件不成立時,執行語句塊2,條件成立時執行語句塊1。語句塊1#條件成立時執行的代碼else:語句塊2

2.2選擇結構2

if-else選擇結構

【示例2.3】輸入商品價格,如果商品價格大于100,則商品打8折,否則商品打9折,然后輸出最后的商品價格。計算商品價格的結果如圖2.6所示。

通過圖2.6所示的運行結果可以看出,當商品價格滿足超出100的條件時,就會執行“price=price*0.8”語句,否則就會執行“price=price*0.9”語句。price=int(input("請輸入商品的價格:"))ifprice>100:

price=price*0.8#商品價格打8折else:

price=price*0.9#商品價格打9折print("商品價格為:",price)

2.2選擇結構3

多重if語句

當一個問題存在多種可能的條件時,需要對每一種條件分別進行處理。例如,商品促銷打折,價格超出100元,享受9折優惠,超過200元,享受8.5折優惠,超過300元,享受8折優惠。類似的情況在現實生活中還有很多,遇到這些情況時,使用簡單的條件結構已經無法滿足需求,可以使用多重條件結構解決此類問題。

在Python語言中,多重條件結構分為多重if結構和嵌套if結構。與Java語言不同的是,Python沒有switch語句。【語法】if條件表達式1:

語句塊1elif條件表達式2:

語句塊2elif條件表達式3:

語句塊3else:

語句塊42.2選擇結構3多重if語句多重if結構工作流程如圖2.7所示。

計算條件表達式1,若結果為真,則執行語句塊1;否則,計算條件表達式2,若結果為真,則執行語句塊2;否則計算條件表達式3,若結果為真,則執行語句塊3;否則執行語句塊4,對于一次條件判斷,只能選擇一個分支執行,不能同時執行。2.2選擇結構3多重if語句

【示例2.4】輸入購物金額,如果購物金額小于100,則商品打9.8折,等于或超過100但不超過300打9.5折,等于或超出300但不超出500打9折,500或以上打8折,然后輸出最后的購物金額。計算購物金額的結果如圖2.8所示。price=int(input("請輸入購物金額:"))ifprice<100:

price=price*0.98elifprice>=100andprice<300:

price=price*0.95elifprice>=300andprice<500:

price=price*0.9else:

price=price*0.8print("購物金額為:",price)2.2選擇結構4學生實踐練習1.需求說明

個人所得稅是對個人取得的各項所得征收的一種所得稅。個人所得稅起征點是指免征的額度,未超出起征點不用納稅。例如,某年個稅起征點為5000元,還可以減去6項專項附加扣除,主要有子女教育、繼續教育、贍養老人、大病醫療、住房貸款利息和住房租金,扣除三險一金和專項附加,工資大于5000元需要繳納個人所得稅,若小于5000元則不需要繳納。個人所得稅稅率見表2.7。2.2選擇結構4學生實踐練習個人所得稅計算公式如下:應納稅所得額=工資收入金額?各項社會保險費和附加專項?起征點(5000元)應納稅額=應納稅所得額×稅率?速算扣除數實現一個計算納稅人負擔稅款的個人所得稅的計算器,要求如下:(1)在控制臺輸入個人的工資總額及各項社會保險金的金額。(2)通過個人所得稅計算公式計算個人應納稅額2.實現思路(1)計算應納稅所得額。(2)判斷納稅所得額在哪一個區間,根據區間判斷稅率和速算扣除數知識架構2.3循環結構1循環控制語句2while循環3學生實踐練習2.3循環結構1循環控制語句

循環在執行過程中,只有在循環條件不成立的情況下,才可以退出循環的執行。例如,沿著運動場跑5圈,可以將該過程視為一個循環,只有在跑完5圈之后才可以終止循環。但實際情況中,由于個人的身體素質問題,會出現未完成任務的情況,就需要終止循環。與Java語言類似,Python也支持break語句和continue語句。同時,Python還提供了pass語句做空語句,表示什么都不執行。1.break語句

break語句作為中斷處理語句,只能在while和for循環結構中,用于中斷當前結構的執行,通常和條件語句一起執行。當滿足一定條件時,它可使程序立即退出當前語句結構,轉而執行該語句結構之后的語句。【語法】break2.3循環結構12.continue語句【語法】

continue語句只能用于循環語句中,通常和條件語句一同使用,當滿足一定條件時,終止本次循環,跳轉至下一次循環。

break語句在循環中用于結束循環執行,而continue語句在循環中用于結束本次循環,然后進入下一次循環。3.pass語句

Python語言中的pass語句是指空語句,是為了保持程序結構的完整性。pass不做任何事情,一般用作占位語句。【語法】continuepass2.3循環結構2while循環【語法】

循環可以解決重復執行某些操作的問題。Python提供了for循環和while循環語句,但沒有do...while循環。

【示例2.5】輸入一個數字,計算1到該數字之間,不能被3或5整除的所有數字之和。while循環條件:

循環操作num=int(input("請輸入一個正整數:"))sum=0#保存不能被3或5整除的數字之和index=1#保存每次循環的數值whileindex<=num:

ifindex%3==0orindex%5==0:

index=index+1#每次循環加1

continue

print(index,"不能被3或5整除")

sum=sum+index

index=index+1#每次循環加1print("1到%d之間不能被3或5整除的數字和為%d"%(num,sum))2.3循環結構2計算不能被3或5整除的所有數字之和的運行結果如圖2.10所示。while循環2.3循環結構3學生實踐練習1.需求說明使用while循環打印九九乘法表,格式的內容如下:2.實現思路(1)先定義一個1~9之間的循環。(2)在循環中再創建一個1到循環數值的子循環。1*1=12*1=22*2=43*1=33*2=63*3=9…知識架構2.4for循環

1in操作符2for循環3學生實踐練習2.4for循環1in操作符

in操作符用來在指定的序列中找到某一個值,如果找到,返回True,否則返回False。【語法】

其中序列可以是列表、元組或者字典。除了in,如果判斷指定序列中找不到某一個值,則使用notin,它剛好和in相反,使用方式一致。【示例2.6】判斷某個值是否在列表中。變量in序列a=10b=5list=[7,10,15,8]ifainlist:

print("變量a在給定的列表list中")else:2.4for循環1in操作符判斷某個值是否在列表中的運行結果如圖2.12所示。

print("變量a不在給定的列表list中")ifbnotinlist:

print("變量b不在給定的列表list中")else:

print("變量b在給定的列表list中")2.4for循環2for循環

Pythonfor循環可以遍歷任何序列的項目,如一個列表或者一個字符串。與Java語言不同,Python語言中的for循環固定只有“for變量in序列:”這一種語法格式。【語法】

在Python語言中,for循環只能遍歷序列(包括列表、元組、字典)等。但很多時候習慣使用for循環遍歷從一個數到另外一個數之間所有的數字。例如,在Java語言中,計算1~100的和可以使用for(inti=1;i<=100;i++)的方式,然而在Python語言中這種格式是不被允許的,但它提供了range函數幫我們達到同樣的效果。

range()函數返回一個列表值,該函數有(start,end,scan)三個參數,其中start表示起始數字,默認從0開始。例如,range(5)等價于range(0,5);end表示結束的數字,但不包括該數字。例如,range(0,5)表示[0,1,2,3,4],其中沒有5;scan表示每次跳躍的間距。例如,range(0,5)等價于range(0,5,1)。for變量in序列(包括列表、元組、字典或字符串):

循環執行語句2.4for循環2for循環

【示例2.7】分別循環輸出列表、元組、字典、字符串中的各個元素,并使用range()函數計算1~100的和。#循環輸出列表元素list=[5,12,8,7,9]foriinlist:

print(i)print("")#循環輸出元組元素tuple=(7,5,13,8)#定義一個元組fortintuple:

print(t)print("")#循環輸出字典元素dict={"name":"Trumple","age":17,"sex":"man"}fordindict:

print("%s對應的值為%s"%(d,dict[d]))print("")#循環輸出字符串元素string="hellokitty!"forsinstring:

print(s)#使用range()函數計算1~100的和sum=0#保存1~100之間的和foriinrange(1,101):

sum=sum+iprint("1-100之間的和為:",sum)2.4for循環2for循環使用Range()函數計算1~100的和的運行結果如圖2.13所示。2.4for循環3學生實踐練習1.需求說明2.實現思路

“回文”是指正讀、反讀都能讀通的句子,而回文數是指一個數字將它的各位數字反向排列后還等于它本身的數字。例如,數字12321中各位數字反向排列還是12321,所以12321是回文數。從控制臺輸入一個數字,判斷該數字是否為回文數。

(1)先將數字轉換為字符串。

(2)循環遍歷字符串的前半部分的字符,判斷字符是否與對應位置的字符相等。如果出現不相等的情況,則表示該數字不是一個回文數。本章總結

1.Python數據運算和Java程序的數據運算有什么區別?

Python程序提供了兩個算術運算符,一個為“**”(冪),另外一個為“//”(取整除),返回商的整數部分。在Python語言中,提供了“!=”和“<>”兩種不等于的運算符。在成員運算方面,提供了in和notin兩種。還可以使用is和isnot判斷標識符是不是引用自同一個對象。

2.在Python程序中提供了哪幾種控制結構?

Python程序提供了順序、選擇和循環三種結構。其中順序結構為同一代碼塊中代碼從上到下依次執行。選擇結構包括單分支的if語句、雙分支的if-else語句、多分支的if..elseif..else語句。循環語句包括while循環和for循環,但沒有do..while循環。

3.Python程序的for循環特點是什么?

Python語言中的for循環固定只有“for變量in序列:”這一種語法格式。for循環只能遍歷序列(包括列表、元組、字典)等。本章實訓1.編程實現:判斷坐標點(x,y)所在的象限。從鍵盤輸入x和y的值,如果x和y的值都大于0,則坐標點位于第一象限;如果x的值小于0,并且y的值大于0,則坐標點位于第二象限;如果x和y的值都小于0,則坐標點位于第三象限;如果x的值大于0,并且y的值小于0,則坐標點位于第四象限;如果x和y的值都等于0,則位于原點;如果x值等于0,則坐標點位于y軸;如果y值等于0,則坐標點位于x軸。2.編寫程序打印1000以內所有的“水仙花數”。“水仙花數”是指一個三位數,其各位數字立方和等于該數本身。例如,153是一個“水仙花數”,因為“153=1的三次方+5的三次方+3的三次方”。3.編程實現:對于用戶從鍵盤輸入的大于1的自然數,對其進行因式分解。例如,10=2*5,60=2*2*3*5。4.編程實現判定輸入的正整數是否為素數。

第3章

Python

復雜數據類型列表字典元組集合與嵌套思維導圖知識目標掌握掌握掌握熟練掌握列表的基本操作和方法12掌握元組的基本操作和方法了解集合與嵌套的基本操作4熟練掌握字典的基本操作和方法3技能目標掌握掌握掌握熟練掌握列表的編程應用12掌握元組的編程應用學會復雜數據的嵌套使用4熟練掌握字典的編程應用3思政目標1.

通過不同數據類型的對比分析,引導學生提升總結歸納能力和批判性思維養成。2.“民族品牌當自強”,理解創新驅動發展戰略的深刻內涵。3.

通過“中國第一程序員求伯君—個人開發WPS擊敗200人的微軟圖”的學習,了解優秀程序員需要具備的品質。目錄元組3.23.1列表3.3字典3.4集合與嵌套知識架構3.1列表1創建和訪問列表2列表的基本操作3列表的函數和方法4學生實踐練習3.1列表1

創建和訪問列表

列表是一種有序的集合,可以隨時添加和刪除其中的元素,列表中值的切割可以用變量[頭下標:尾下標]的方式,截取相應的列表,從左到右索引默認從0開始遞增,從右到左索引默認從?1開始遞減,下標可以為空,表示取到頭或尾。1.創建列表列表名=[值1,值2,…,值N]例如,定義如下列表:list1=['Tom',786,2.23,'Trump',70.2]list2=[1,2,3,4,5]2.獲取列表元素個數列表元素的個數使用len()函數實現,代碼如下:len(list1)3.1列表1

創建和訪問列表

3.訪問列表元素1)

使用索引訪問列表元素從左到右索引默認從0開始遞增,從右到左索引默認從?1開始遞減。例如,現有一個列表[a,b,c,d,e,f],其索引如圖3.1所示。【示例3.1】從左往右順序訪問list1的5個元素。list1=['Tom',786,2.23,'Trump',70.2]print(list1[0],list1[1],list1[2],list1[3],list1[4])#輸出5個元素3.1列表1

創建和訪問列表

通過索引訪問列表元素的運行結果如圖所示。

除了從左往右訪問列表元素,還可以從右往左訪問,最后一個元素索引為?1。例如,在示例3.1中加入如下代碼:#從最后一個元素開始,從右往左輸出列表元素print(list1[-1],list1[-2],list1[-3],list1[-4],list1[-5])

列表元素的運行結果如圖3.3所示。3.1列表1

創建和訪問列表

2)使用切片訪問列表元素切片的語法表達式如下:[start_index:end_index:step]其中,各參數說明如下:(1)start_index表示起始索引,從0開始,可以是正數或負數,為空時表示取到頭或尾。(2)end_index表示結束索引,為空時表示取到頭或尾。(3)step表示步長,步長不能為0,且默認值為1。

切片操作是指按照步長,截取從起始索引到結束索引,但不包含結束索引(也就是結束索引減1)的所有元素,但是注意為空時,可以取到頭或尾。如果截取圖3.1中的元素,切片截取元素如圖3.4所示。3.1列表1

創建和訪問列表

例如,截取示例3.1中的list1的前3個元素,代碼如下:#截取列表前3個元素print(list1[0:3])截取列表前3個元素的運行結果如圖:#截取列表后2個元素print(list1[-2:])3.1列表1

創建和訪問列表

如果只需要獲取倒數第2個元素,用切片實現,代碼如下:#截取列表最后1個元素print(list1[-2:-1])

如果想獲取的元素不是連續的,需要隔一個或者多個獲取,應在切片后再加上一個參數,該參數用于指定元素間隔的個數。例如,獲取示例3.1中前4個元素中每2個取1個,代碼如下:#前4個元素,每2個取1個print(list1[:4:2])3.1列表1

創建和訪問列表

例如,在示例3.1中將所有元素每隔3個獲取1個元素,代碼如下:#所有元素,每3個取1個print(list1[::3])

所有元素每3個取1個的運行結果如圖3.8所示。3.1列表1

創建和訪問列表

4.遍歷列表元素

在Python中遍歷列表的方法有4種,分別如下:(1)使用for循環。(2)使用Python內置的enumerate()函數。(3)使用iter()迭代器。(4)使用range()函數。

接下來,介紹具體遍歷列表的操作。1)使用for循環

例如,現有列表list01=[2,3,4],使用for循環遍歷輸出元素,代碼如下:list01=[2,3,4]fornuminlist01:

print(num)3.1列表1

創建和訪問列表

2)使用Python內置的enumerate()函數Python內置的enumerate()函數的語法如下:enumerate(sequence,[start=0])

例如,使用enumerate()函數遍歷列表list01,代碼如下:list01=[2,3,4]foriinenumerate(list01):

print(i)3)使用iter()迭代器iter()迭代器用來生成迭代器,返回迭代對象,其使用語法如下:iter(object[,sentinel])

例如,使用iter()迭代器遍歷列表list01,代碼如下:list01=[2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論