《Python程序設(shè)計(jì)基礎(chǔ)》全套教學(xué)課件_第1頁
《Python程序設(shè)計(jì)基礎(chǔ)》全套教學(xué)課件_第2頁
《Python程序設(shè)計(jì)基礎(chǔ)》全套教學(xué)課件_第3頁
《Python程序設(shè)計(jì)基礎(chǔ)》全套教學(xué)課件_第4頁
《Python程序設(shè)計(jì)基礎(chǔ)》全套教學(xué)課件_第5頁
已閱讀5頁,還剩695頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一章Python概述與編程環(huán)境Python程序設(shè)計(jì)第1章Python概述與編程環(huán)境.pptx第2章Python語法基礎(chǔ).pptx第3章常用運(yùn)算.pptx第4章程序流程控制.pptx第5章函數(shù)與模塊.pptx第6章序列類型及操作.pptx第7章集合與映射類型.pptx第8章面向?qū)ο蟪绦蛟O(shè)計(jì)與GUI編程.pptx第9章文件.pptx第10章NumPy庫.pptx第11章數(shù)據(jù)可視化.pptx全套可編輯PPT課件本章要點(diǎn)Python開發(fā)環(huán)境的配置Python的歷史發(fā)展Python的應(yīng)用領(lǐng)域Python的基本輸入與輸出Python的編碼規(guī)范學(xué)習(xí)目標(biāo)了解Python程序設(shè)計(jì)語言的歷史、特點(diǎn)、應(yīng)用領(lǐng)域;掌握Python語言開發(fā)環(huán)境的配置;理解Python的基本輸入input()與輸出print();熟悉Python的編碼規(guī)范。1Python語言概述Python語言概述Python程序設(shè)計(jì)語言是由荷蘭學(xué)者GuidovonRossum研發(fā)的Python特點(diǎn)Python是一種解釋型語言Python是交互式語言Python是面向?qū)ο笳Z言Python是初學(xué)者的語言Python語言概述Python的應(yīng)用領(lǐng)域人工智能Python具有極高的開發(fā)效率和高可維護(hù)性,擁有豐富的數(shù)字算法和強(qiáng)悍的數(shù)據(jù)處理方法,加之基于Python的PyTorch和TensorFlow等深度學(xué)習(xí)框架的廣泛應(yīng)用,使之成為人工智能與大數(shù)據(jù)領(lǐng)域事實(shí)上的標(biāo)準(zhǔn)程序設(shè)計(jì)語言。數(shù)據(jù)處理與可視化NumPy,SciPy,Matplotlib等眾多第三方庫的開發(fā)和完善,使Python越來越適合做數(shù)據(jù)處理、繪制高質(zhì)量的2D和3D圖像。010203云計(jì)算云計(jì)算框架OpenStack和Python緊密合作并互相依賴,開發(fā)人員大量使用Python簡(jiǎn)化編寫OpenStack自動(dòng)化腳本的過程。Python語言概述Python的應(yīng)用領(lǐng)域游戲開發(fā)網(wǎng)絡(luò)游戲開發(fā)中Python也有很多應(yīng)用。Pygame、Cocos2d、Pymunk、Arcade、Panda3d和Arcade等庫讓游戲的設(shè)計(jì)開發(fā)變得更加簡(jiǎn)單和快速。爬蟲網(wǎng)絡(luò)爬蟲是一種按照一定的規(guī)則,自動(dòng)獲取網(wǎng)頁內(nèi)容并可以按照指定規(guī)則提取相應(yīng)內(nèi)容的程序。Python結(jié)合Request、BeautifuSoap、urllib和Scrapy等庫和框架,可以快速完成數(shù)據(jù)采集、處理和儲(chǔ)存。0405Python語言概述Python的應(yīng)用領(lǐng)域自動(dòng)化運(yùn)維IT運(yùn)維對(duì)實(shí)時(shí)采集和海量分析要求更高。Python以其數(shù)據(jù)處理能力強(qiáng)、可移植性強(qiáng)、開發(fā)效率高和兼容性好等特點(diǎn),成為所有運(yùn)行維護(hù)人員廣泛選用的程序設(shè)計(jì)語言之一。06Web開發(fā)Python下有Django、Flask和Tornado等多種優(yōu)秀的Web框架,可以實(shí)現(xiàn)低成本、高效率的網(wǎng)站開發(fā)。072Python的開發(fā)環(huán)境配置Python的開發(fā)環(huán)境配置Python是解釋型編程語言,需要安裝解釋器來解釋程序代碼。Python官方網(wǎng)站下載最新版本并安裝。初學(xué)者可以用內(nèi)置IDLE進(jìn)行編程訓(xùn)練。安裝Python1.Pycharm2VSCode3.Spyder4.JupyterNotebook安裝第三方IDLE3Python基本輸入與輸出Python基本輸入與輸出

Python基本輸入:語法格式:input("提示")>>input("pleaseinputx:")#從鍵盤輸入一個(gè)數(shù)據(jù)pleaseinputx:6'6'>>>x=input("pleaseinputx:")#從鍵盤輸入一個(gè)數(shù)據(jù)并存儲(chǔ)到x中pleaseinputx:6>>>x'6'>>>Python基本輸入與輸出

Python基本輸出:語法格式:print(value1,…,sep=’’)參數(shù):value1:要輸出的數(shù)據(jù),若有多個(gè)輸出數(shù)據(jù),它們之間用“,”分隔。sep:多個(gè)數(shù)據(jù)在屏幕輸出時(shí),用sep指定的符號(hào)來分隔,sep=’’就是用空格為分隔輸出數(shù)據(jù),sep缺省值是’’(空格)。Python基本輸入與輸出

Python基本輸出:語法格式:print(value1,…,sep=’’)>>>print("Python語言")#在屏幕上輸出字符串:Python語言Python語言>>>print("Python”,”語言")#在屏幕上輸出字符串:Python語言Python語言>>>print("Python","語言",sep='+')#在屏幕上輸出字符串:Python+語言Python+語言>>>Python基本輸入與輸出

實(shí)例1.1編寫程序,在屏幕上輸出“WelcometoPython”。#屏幕上輸出“WelcometoPython”print("WelcometoPython")注意Python程序是區(qū)分大小寫的。Python基本輸入與輸出

實(shí)例1.2編寫程序,輸入你所喜歡的水果(比如:蘋果),屏幕輸出“Myfavoritefruitis蘋果”。#輸入你喜歡的水果(如:蘋果),屏幕輸出“Myfavoritefruitis蘋果”x=input("你喜歡的水果名稱:")print("Myfavoritefruitis",x)注意x是用來保存從鍵盤輸入的水果名稱。4編碼規(guī)范編碼規(guī)范Python編程遵循PEP8規(guī)范1.代碼縮進(jìn)Python語言使用代碼縮進(jìn)來表達(dá)程序代碼之間邏輯關(guān)系。雖然Python強(qiáng)制縮進(jìn),會(huì)讓初學(xué)者不適應(yīng),但它會(huì)將增強(qiáng)Python程序代碼可閱讀性??s進(jìn)建議使用4個(gè)空格或制表符(Tab鍵)進(jìn)行縮進(jìn),Python3不允許混合使用空格和制表符的縮進(jìn)。許多第三方的開發(fā)工具都提供自動(dòng)縮進(jìn)的機(jī)制。編碼規(guī)范Python編程遵循PEP8規(guī)范2.注釋注釋是程序員在程序中加入的說明性信息,用于對(duì)程序代碼、函數(shù)等進(jìn)行解釋和說明,提高代碼的可讀性和可維護(hù)性,用中文或英文都可以。多行注釋單行注釋“#”號(hào)被用作單行注釋符號(hào),在代碼中使用“#”時(shí),它右邊的任何數(shù)據(jù)都會(huì)被當(dāng)作注釋。用三對(duì)單引號(hào)或三對(duì)雙引號(hào)進(jìn)行標(biāo)注,單引號(hào)之間內(nèi)容會(huì)被當(dāng)作注釋學(xué)習(xí)總結(jié)Python程序設(shè)計(jì)語言是典型的解釋型語言,目前被廣泛應(yīng)用在各個(gè)領(lǐng)域,是人工智能和大數(shù)據(jù)領(lǐng)域的標(biāo)準(zhǔn)語言。IDLE可以用于編碼,建議在文件模式下編碼代碼,以確保代碼可以被保存和維護(hù)。Python中基本輸入函數(shù)input(),()號(hào)為輸入提示信息;基本輸出函數(shù)output(),可實(shí)現(xiàn)多個(gè)數(shù)據(jù)按一定格式連續(xù)輸出。Python編碼規(guī)范:適當(dāng)?shù)目s進(jìn)和注釋的方法謝謝大家!Python程序設(shè)計(jì)第二章Python語法基礎(chǔ)Python程序設(shè)計(jì)本章要點(diǎn)變量與賦值變

量標(biāo)識(shí)符與關(guān)鍵字?jǐn)?shù)值類型格式化輸入與輸出學(xué)習(xí)目標(biāo)理解變量的作用掌握標(biāo)識(shí)符定義與關(guān)鍵字的定義掌握賦值運(yùn)算符及賦值語句掌握Python的基本數(shù)據(jù)類型,尤其是數(shù)值類型掌握格式化輸入與輸出的正確使用1變量Python語言概述變量:在程序運(yùn)行過程中可以改變其值,Python始終記錄是變量的最新值#輸入你喜歡的水果(如:蘋果),屏幕輸出“Myfavoritefruitis蘋果”x=input("你喜歡的水果名稱:")print("Myfavoritefruitis",x)x=input("你喜歡的水果名稱:")print("Myfavoritefruitis",x)Python語言概述變量:在程序運(yùn)行過程中可以改變其值,Python始終記錄是變量的最新值變量命名要遵守一定的規(guī)范:1)變量名必須是有效的標(biāo)識(shí)符名。2)變量名不能是Python的關(guān)鍵字。3)變量名要知名達(dá)意,可以使用首字母大寫并直接連接的駝峰式命名,如:CheckID、GetDistrictByID、GetBirthdayByID。2標(biāo)識(shí)符與關(guān)鍵字標(biāo)識(shí)符與關(guān)鍵字0201關(guān)鍵字關(guān)鍵字是預(yù)先保留的標(biāo)識(shí)符,每個(gè)關(guān)鍵字都有特殊的含義,一般用于構(gòu)成程序框架、表達(dá)關(guān)鍵值和具有結(jié)構(gòu)性的復(fù)雜語義,不能用于通常的標(biāo)識(shí)符。Python目前擁有35個(gè)關(guān)鍵字。標(biāo)識(shí)符Python語言為其可操控的對(duì)象的取名,為了提高程序可閱讀性,在定義標(biāo)識(shí)符是地,要遵守以下命名規(guī)則:1)由一個(gè)或多個(gè)英文字母、數(shù)字字符、下劃線構(gòu)成,且第一個(gè)字符不能為數(shù)字字符。2)標(biāo)識(shí)符中英文字母嚴(yán)格區(qū)分大小寫。3)標(biāo)識(shí)符的長度不受限制。標(biāo)識(shí)符中不能包含空格,#,/等特殊符號(hào)標(biāo)識(shí)符與關(guān)鍵字01標(biāo)識(shí)符Python語言為其可操控的對(duì)象的取名,為了提高程序可閱讀性,在定義標(biāo)識(shí)符是地,要遵守以下命名規(guī)則:1)由一個(gè)或多個(gè)英文字母、數(shù)字字符、下劃線構(gòu)成,且第一個(gè)字符不能為數(shù)字字符。2)標(biāo)識(shí)符中英文字母嚴(yán)格區(qū)分大小寫。3)標(biāo)識(shí)符的長度不受限制。標(biāo)識(shí)符中不能包含空格,#,/等特殊符號(hào)合法的標(biāo)識(shí)符fruit_name、id_room、stu_birthday_stu_id不合法的標(biāo)識(shí)符123、4apple、student+name。標(biāo)識(shí)符與關(guān)鍵字02關(guān)鍵字關(guān)鍵字是預(yù)先保留的標(biāo)識(shí)符,每個(gè)關(guān)鍵字都有特殊的含義,一般用于構(gòu)成程序框架、表達(dá)關(guān)鍵值和具有結(jié)構(gòu)性的復(fù)雜語義,不能用于通常的標(biāo)識(shí)符。Python目前擁有35個(gè)關(guān)鍵字。。fromforFalsetryclassimportwhileNoneexceptpassincontinueTruefinallydelisbreakdefassertnonlocalifandreturnwithglobaleliforyieldasasyncelsenotlambdaraiseawait3變量與賦值變量與賦值變量提供了一種將名字?jǐn)?shù)據(jù)對(duì)象綁定的方法,變量可以理解為標(biāo)識(shí)符、標(biāo)簽或名字,給變量賦值就是相當(dāng)于給已經(jīng)創(chuàng)建的對(duì)象貼一個(gè)用于訪問的標(biāo)簽。pi=3.14159#變量pi賦值為3.14159radius=2#變量radius賦值為2area=pi*(radius**2)#計(jì)算圓面積print(area)#輸出面積值12.56636radius=4#變量radius賦值為4area=pi*(radius**2)#計(jì)算圓面積print(area)#輸出面積值50.26544變量與賦值Python支持在一條語句內(nèi)為多個(gè)變量賦值,此時(shí),賦值符號(hào)左邊的變量的數(shù)量要與賦值號(hào)右側(cè)數(shù)據(jù)的數(shù)量相同。m,n=3,4#m,n=(3,4),將3賦值給m,將4賦值給nprint(m,n)#輸出34a,b,c=3,4,5#將3,4,5分別賦值給a,b,cprint('{}x+{}y+{}=0'.format(a,b,c))#輸出3x+4y+5=0print(f'{a}x+y+{c}=0')#輸出3x+4y+5=0

賦值符號(hào)右側(cè)的多個(gè)數(shù)據(jù)會(huì)被視為一個(gè)省略了括號(hào)的元組,賦值操作是將元組解包,將其中的每個(gè)元素分別綁定一個(gè)名字。變量與賦值賦值語句:

通過賦值符號(hào)“=”左邊的變量與右邊的表達(dá)式或值關(guān)聯(lián)起來。x=5

#名字x綁定到整數(shù)5上y='apple'#名字y綁定到字符串上z=[1,2,3,4]#名字z綁定到列表上賦值號(hào)的左邊必須是變量注意單擊此處添加標(biāo)題變量與賦值賦值語句:

通過賦值符號(hào)“=”左邊的變量與右邊的表達(dá)式或值關(guān)聯(lián)起來。a,b=5,10#將5賦值給a,將10賦值給bprint(a,b)#輸出510a,b=b,a#交換變量a和b所指向的對(duì)象print(a,b)#輸出105一條賦值語句中可以同時(shí)為多個(gè)變量賦值,利用這個(gè)特點(diǎn)可以實(shí)現(xiàn)兩個(gè)變量值的交換。注意變量與賦值賦值語句:

通過賦值符號(hào)“=”左邊的變量與右邊的表達(dá)式或值關(guān)聯(lián)起來。x=(16+(8*2-4*6*2)*0.5)/(2*5)#表達(dá)式的計(jì)算結(jié)果是0print(x)#

輸出0.0若賦值的右邊是計(jì)算表達(dá)式,解釋器會(huì)對(duì)表達(dá)式列表進(jìn)行求值,并將運(yùn)算結(jié)果賦給變量。注意變量與賦值復(fù)合賦值符:

+=、-=、*=、/=、%=、**=、//=

+=加法運(yùn)算賦值符c+=ac=c+a-=減法運(yùn)算賦值符c-=ac=c-a*=乘法運(yùn)算賦值符c*=ac=c*a/=除法運(yùn)算賦值符c/=ac=c/a%=取模運(yùn)算賦值符c%=ac=c%a**=冪運(yùn)算賦值符c**=ac=c**a(c**a:ca)//=整除運(yùn)算賦值符c//=ac=c//a4基本數(shù)據(jù)類型基本數(shù)據(jù)類型需要處理的所有客觀對(duì)象都要抽象成數(shù)據(jù),才能在計(jì)算機(jī)中進(jìn)行存儲(chǔ)和處理。在計(jì)算機(jī)中,所有數(shù)據(jù)最終都以二進(jìn)制的形式存儲(chǔ)和表示。根據(jù)需要對(duì)數(shù)據(jù)進(jìn)行的操作和處理的不同,可以將數(shù)據(jù)定義成不同數(shù)據(jù)類型。對(duì)象示例整型1024、79浮點(diǎn)型123.45、12.、23.0、0.78字符串'1024'、"test"、'''10test'''Rangerange(1,10,2)、range(5)列表[1,2,3,4]、[1,2,'a',"b"]元組(1,2,3,4)、(1,2,'a','b')、(1)集合{1,2,3,4}、{'h','l','e','o'}、{'you','me','he'}字典{'name':'wang','age':40}基本數(shù)據(jù)類型Python中,數(shù)據(jù)類型也分為不可變數(shù)據(jù)類型和可變數(shù)據(jù)類型。(1)不可變數(shù)據(jù)類型:numeric(數(shù)字)、string(字符串)、tuple(元組)和range。(2)可變數(shù)據(jù)類型:list(列表)、dictionary(字典)、set(集合)。num1,num2=123,456print(id(num1),id(num2))#輸出內(nèi)存地址140735461450592140735461450592(注:輸出的內(nèi)存地址與機(jī)器相關(guān))num1=789print(id(num1))#輸出內(nèi)存地址:2417866260272s='abc'print(id(s))#輸出內(nèi)存地址:2417432075096s+='def'print(s)#輸出abcdefprint(id(s))#輸出內(nèi)存地址:2417867282896,id改變,s是新對(duì)象基本數(shù)據(jù)類型Python中,數(shù)據(jù)類型也分為不可變數(shù)據(jù)類型和可變數(shù)據(jù)類型。(1)不可變數(shù)據(jù)類型:numeric(數(shù)字)、string(字符串)、tuple(元組)和range。(2)可變數(shù)據(jù)類型:list(列表)、dictionary(字典)、set(集合)。lsa=[1,2,3]lsb=[1,2,3]print(lsa,lsb)#輸出[1,2,3][1,2,3]print(id(lsa),id(lsb))#輸出17471879034961747171998664,二者id不同,lsa與lsb是值相同的不同對(duì)象lsa.append(4)lsb+=[5]print(lsa,lsb)#輸出[1,2,3,4][1,2,3,5],lsa與lsb是值都發(fā)生了變化print(id(lsa),id(lsb))#輸出17471879034961747171998664,id不變,對(duì)象仍是原對(duì)象未變5數(shù)值類型數(shù)值類型整數(shù):是不帶小數(shù)點(diǎn)的數(shù)值,包括0、正整數(shù)和負(fù)整數(shù)。例如:123、-45、0b1101(二進(jìn)制)、0o17(八進(jìn)制)、0xff(十六進(jìn)制)。進(jìn)制引導(dǎo)符號(hào)十進(jìn)制無二進(jìn)制0b或0B八進(jìn)制0o或0O十六進(jìn)制0x或0X整數(shù)的四種進(jìn)制表示數(shù)值類型浮點(diǎn)數(shù)(float):由整數(shù)部分與小數(shù)部分組成,其整數(shù)部分/小數(shù)部分可以沒有值(但不能同時(shí)沒有值),小數(shù)點(diǎn)必須要有,此時(shí)缺省值相當(dāng)于0。當(dāng)其沒有小數(shù)點(diǎn)時(shí)就退化成了整數(shù)。浮點(diǎn)數(shù)有兩種表示方法:十進(jìn)制和科學(xué)計(jì)數(shù)法。例如:543.12、56.、26.0、0.78、4.8e-2、2.53e3科學(xué)計(jì)數(shù)法:<x>e<n>,等價(jià)于數(shù)學(xué)中的

x×10n

其中:4.8e-2=4.8×10-2=0.048Python3對(duì)于浮點(diǎn)數(shù)默認(rèn)提供大約17位數(shù)字的精度。占8個(gè)字節(jié)(64位)內(nèi)存空間,其數(shù)字范圍為1.7×10-308~1.7×10308。超過16位有效數(shù)字后面的數(shù)字往往沒有精確意義了數(shù)值類型浮點(diǎn)數(shù)(float):由整數(shù)部分與小數(shù)部分組成,其整數(shù)部分/小數(shù)部分可以沒有值(但不能同時(shí)沒有值),小數(shù)點(diǎn)必須要有,此時(shí)缺省值相當(dāng)于0。當(dāng)其沒有小數(shù)點(diǎn)時(shí)就退化成了整數(shù)。Python3對(duì)于浮點(diǎn)數(shù)默認(rèn)提供大約17位數(shù)字的精度。占8個(gè)字節(jié)(64位)內(nèi)存空間,其數(shù)字范圍為1.7×10-308~1.7×10308。超過16位有效數(shù)字后面的數(shù)字往往沒有精確意義了print('{:.30f}'.format(314159.265358979323846264338327950288419716939937510))print('{:.30f}'.format(3.14159265358979323846264338327950288419716939937510))輸出:314159.2653589793480932712554931640623.141592653589793115997963468544實(shí)際值:3.14159265358979323846264338327950288419716939937510基本數(shù)據(jù)類型Python中,數(shù)據(jù)類型也分為不可變數(shù)據(jù)類型和可變數(shù)據(jù)類型。(1)不可變數(shù)據(jù)類型:numeric(數(shù)字)、string(字符串)、tuple(元組)和range。(2)可變數(shù)據(jù)類型:list(列表)、dictionary(字典)、set(集合)。lsa=[1,2,3]lsb=[1,2,3]print(lsa,lsb)#輸出[1,2,3][1,2,3]print(id(lsa),id(lsb))#輸出17471879034961747171998664,二者id不同,lsa與lsb是值相同的不同對(duì)象lsa.append(4)lsb+=[5]print(lsa,lsb)#輸出[1,2,3,4][1,2,3,5],lsa與lsb是值都發(fā)生了變化print(id(lsa),id(lsb))#輸出17471879034961747171998664,id不變,對(duì)象仍是原對(duì)象未變基本數(shù)據(jù)類型Python中,數(shù)據(jù)類型也分為不可變數(shù)據(jù)類型和可變數(shù)據(jù)類型。(1)不可變數(shù)據(jù)類型:numeric(數(shù)字)、string(字符串)、tuple(元組)和range。(2)可變數(shù)據(jù)類型:list(列表)、dictionary(字典)、set(集合)。lsa=[1,2,3]lsb=[1,2,3]print(lsa,lsb)#輸出[1,2,3][1,2,3]print(id(lsa),id(lsb))#輸出17471879034961747171998664,二者id不同,lsa與lsb是值相同的不同對(duì)象lsa.append(4)lsb+=[5]print(lsa,lsb)#輸出[1,2,3,4][1,2,3,5],lsa與lsb是值都發(fā)生了變化print(id(lsa),id(lsb))#輸出17471879034961747171998664,id不變,對(duì)象仍是原對(duì)象未變6格式化輸入與輸出引言內(nèi)置函數(shù)準(zhǔn)則人機(jī)交互input()接收用戶輸入的字符串print()將程序的處理結(jié)果以字符的形式展示給用戶一個(gè)程序可以沒有輸入,但至少要有一個(gè)輸出,其作用是將程序的處理結(jié)果返回給調(diào)用程序處計(jì)算機(jī)能接收用戶的輸入,并且把處理結(jié)果通過字符或圖像等形式返回給用戶。格式化輸出函數(shù)Python主要有兩種輸出值的方式:表達(dá)式語句和print()函數(shù)。表達(dá)式語句主要用于交互模式,在交互模式下輸入變量或表達(dá)式將可以直接輸出變量或表達(dá)式的值。>>>5+6/2-3*22.0>>>格式化輸出函數(shù)Python主要有兩種輸出值的方式:表達(dá)式語句和print()函數(shù)。print()函數(shù)主要用于將單個(gè)對(duì)象或多個(gè)對(duì)象輸出到屏幕上,常用的語法格式:print(*objects,sep='',end='\n',file=sys.stdout)若欲輸出多個(gè)對(duì)象,這些對(duì)象作為print()函數(shù)的參數(shù),須以逗號(hào)“,”隔開多個(gè)對(duì)象;輸出到屏幕后,默認(rèn)以空格分隔。print(1,2,3,4)#默認(rèn)輸出時(shí)用空格分隔#輸出1234格式化輸出函數(shù)Python主要有兩種輸出值的方式:表達(dá)式語句和print()函數(shù)。print()函數(shù)主要用于將單個(gè)對(duì)象或多個(gè)對(duì)象輸出到屏幕上,常用的語法格式:print(*objects,sep='',end='\n',file=sys.stdout)輸出多個(gè)對(duì)象時(shí),可以用sep參數(shù)指定分隔符號(hào),sep參數(shù)的值必須是字符串。print(1,2,3,4,sep=',')

#用sep參數(shù)指定符號(hào),用于輸出時(shí)分隔值#輸出1,2,3,4格式化輸出函數(shù)Python主要有兩種輸出值的方式:表達(dá)式語句和print()函數(shù)。print()函數(shù)主要用于將單個(gè)對(duì)象或多個(gè)對(duì)象輸出到屏幕上,常用的語法格式:print(*objects,sep='',end='\n',file=sys.stdout)print()函數(shù)中end參數(shù)默認(rèn)值是換行符('\n'),此參數(shù)值缺省時(shí),執(zhí)行print()函數(shù)后會(huì)自動(dòng)輸出一個(gè)換行。如果希望多個(gè)print()語句的輸出在同一行中,可以將一個(gè)字符串類型的值賦給end參數(shù),例如設(shè)置end=''或end=',',使每條print()語句的輸出以空格或逗號(hào)代替默認(rèn)的回車符結(jié)束,實(shí)現(xiàn)多條print()語句輸出在同一行內(nèi)的效果。foriinrange(4):print(i,end='')#單引號(hào)間有一個(gè)空格#輸出:0123格式化輸出函數(shù)Python主要有兩種輸出值的方式:表達(dá)式語句和print()函數(shù)。print()函數(shù)主要用于將單個(gè)對(duì)象或多個(gè)對(duì)象輸出到屏幕上,常用的語法格式:print(*objects,sep='',end='\n',file=sys.stdout)print()函數(shù)中file參數(shù)以設(shè)置輸出設(shè)備,即把print()中的值輸出到什么地方,默認(rèn)值是“sys.stdout”,意思是輸出到標(biāo)準(zhǔn)輸出設(shè)備(顯示器)。修改此參數(shù)的值可以輸出到其他設(shè)備或文件。例如可以設(shè)置“file=文件儲(chǔ)存對(duì)象”,把內(nèi)容輸出存儲(chǔ)到該文件對(duì)象中。#將字符串輸出到文件對(duì)象fo中withopen('text.txt','w')asfo:#創(chuàng)建文件對(duì)象,命名為foprint("Lifeisshort,youneedpython!",file=fo)#輸出到文件對(duì)象fo中輸出格式控制1.格式化字符串字面值用“f”或“F”做前綴格式化字符串輸出(f/F串)。使用時(shí),在字符串開始的單引號(hào)、雙引號(hào)或三引號(hào)前加上一個(gè)“f”或“F”,在字符串中,放置在大括號(hào)“{}”中的變量或表達(dá)式在程序運(yùn)行時(shí)會(huì)被變量和表達(dá)式的值代替。a=5b=1print(f'{a}-={a-b}')

#輸出5-1=4輸出格式控制1.格式化字符串字面值為了增加用戶友好性,可以在模板字符串中加入說明性字符串,這些字符串將被原樣輸出,大括號(hào)中的變量值可以為任意類型,當(dāng)大括號(hào)中的值為字符串時(shí),需使用與f/F串不同的引號(hào)。name='Rose'gender='fmale'age='18'print(f'姓名:{name},性別:{gender},年齡:{age}')#輸出:姓名:Rose,性別:fmale,年齡:18#大括號(hào)中的值為字符串時(shí)需用雙引號(hào)print(f'姓名:{"Rose"},性別:{"male"},年齡:{18}')#姓名:Rose,性別:fmale,年齡:18輸出格式控制1.格式化字符串字面值除用于字符串的輸出外,此方法還可用于格式限定,使用方法是在大括號(hào)中加冒號(hào)和“格式限定符”,如在冒號(hào)后面加“.mf”,可以控制輸出浮點(diǎn)數(shù)(float)保留小數(shù)點(diǎn)后m位數(shù)字。a=10b=3print(f'{a}/={a/b}')#10/3=3.3333333333333335print(f'{a}/={a/b:.2f}')#10/3=3.33輸出格式控制1.格式化字符串字面值在':'后傳遞一個(gè)整數(shù)可以讓該字段成為最小字符寬度,這在設(shè)置列對(duì)齊時(shí)很有用。print(f'{1}*{9}={1*9:2}')#1*9=9print(f'{9}*{9}={9*9:2}')#9*9=81輸出格式控制2.通過str.format()方法將待輸出的變量格式化成期望的格式語法格式:<模版字符串>.format(<逗號(hào)分隔的參數(shù)>)<模版字符串>由一系列的用大括號(hào){}表示的替換域組成,用來控制修改字符串中嵌入值出現(xiàn)的位置,調(diào)用此方法的“模版字符串”可以包含字符串字面值以及以一個(gè)或多個(gè)花括號(hào){}括起來的替換域。每個(gè)替換域可以包含一個(gè)位置參數(shù)的數(shù)字索引,或者一個(gè)關(guān)鍵字參數(shù)的名稱。該方法被執(zhí)行時(shí)會(huì)將format()方法中用逗號(hào)分隔的參數(shù)按約定規(guī)律替換到替換域中。輸出格式控制2.通過str.format()方法將待輸出的變量格式化成期望的格式語法格式:<模版字符串>.format(<逗號(hào)分隔的參數(shù)>)#str.format()的用法a=3b=4print('{}+{}={}'.format(a,b,a+b))#參數(shù)值按出現(xiàn)順序填入替換域print('{2}*{1}={0}'.format(a*b,b,a))#參數(shù)序號(hào)為0,1,2輸出:3+4=74*3=12輸出格式控制2.通過str.format()方法將待輸出的變量格式化成期望的格式print('{}/{}={:.4f}'.format(a,b,a/b))#5/3=1.6667,.4f保留4位小數(shù)浮點(diǎn)數(shù)str.format()中也可以在大括號(hào)中加冒號(hào)和“格式限定符”,在冒號(hào)后面加“.mf”控制輸出保留小數(shù)點(diǎn)后m位數(shù)字的浮點(diǎn)數(shù)(float)。輸出格式控制2.通過str.format()方法將待輸出的變量格式化成期望的格式print('{a}-={c}'.format(a=5,b=3,c=5-3))還可以在每個(gè)替換域中放置變量名,在format()方法里給每一個(gè)變量賦值,輸出時(shí),替換域被替換為對(duì)應(yīng)變量的值。輸出格式控制#按位置傳遞參數(shù)print('我叫{},今年{}歲'.format('李明',18))#我叫李明,今年18歲#按序號(hào)傳遞參數(shù),與位置無關(guān),大括號(hào)中數(shù)字表示傳遞的對(duì)象的位置print('這是{1},我喜歡喝{0}'.format('咖啡','茶'))#這是茶,我喜歡喝咖啡#序號(hào)可重復(fù)使用print('這是{1},我喜歡喝{1}'.format('咖啡','茶'))#這是茶,我喜歡喝茶#參數(shù)可多于替代域索引數(shù)print('這是{0},我喜歡喝{0}'.format('茶','咖啡','紅酒'))#這是茶,我喜歡喝茶#參數(shù)少于替代域索引數(shù)時(shí)報(bào)錯(cuò)#print('這是{1},我喜歡喝{0}'.format('茶'))#錯(cuò)誤用法,測(cè)試時(shí)去掉行首#號(hào)#IndexError:Replacementindex1outofrangeforpositionalargstuple#使用變量名形式的簡(jiǎn)單字段名傳遞關(guān)鍵字參數(shù),關(guān)鍵字參數(shù)的位置可以隨意調(diào)換print('我叫{name},今年{age}歲'.format(name='李明',age=18))#我叫李明,今年18歲2.通過str.format()方法將待輸出的變量格式化成期望的格式輸出格式控制3.字符串拼接的方法name='李明'age=18#18是整數(shù),用str(age)轉(zhuǎn)為字符串'18'print('我叫'+name+',今年'+str(age)+'歲')#我叫李明,今年18歲用“+”將多個(gè)字符串拼接為一個(gè)字符串輸出。參與拼接的可以是字符串也可以是字符串變量,但參與拼接的變量為整數(shù)等其他數(shù)據(jù)類型時(shí),需先用str()函數(shù)將其轉(zhuǎn)為字符串類型再參與拼接。輸入函數(shù)a=input()#輸入5,默認(rèn)為字符串'5'b=input()#輸入3,默認(rèn)為字符串'3'print(type(a))#輸出<class'str'>,a的類型是字符串print(a+b)#輸出53,'+'作用是將兩個(gè)字符串拼接為一個(gè)字符串print(a*int(b))#輸出555,'*'作用是將字符串重復(fù)整數(shù)b次input()函數(shù)的作用是從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)獲得用戶輸入的一行數(shù)據(jù),不管用戶輸入的是字符型還是數(shù)字型的數(shù)據(jù),input()函數(shù)都會(huì)將其作為一個(gè)字符串類型處理。輸入函數(shù)name=input('請(qǐng)輸入姓名:')print('你真的是',name,'?')#多參數(shù)輸出,空格分隔print('你真的是',name,'?',sep='')#多參數(shù)輸出,空字符串分隔print('你真的是'+name+'?')#字符串拼接,無分隔print(f'你真的是{name}?')#f串格式輸出為了提高程序的用戶友好性,input()可以包含一些提示性的文字,提示性文字以雙引號(hào)或單引號(hào)引起來放于input后的括號(hào)內(nèi)實(shí)例

2.2日期格式化輸出在三行中分別輸入當(dāng)前的年、月、日的整數(shù)值,按要求完成輸出。(1)輸出年月日,空格分隔,格式:20230906。(2)輸出年-月-日,連字符“-”分隔,格式:2023-09-06。(3)輸出年/月/日,斜線“/”分隔,格式:2023/09/06。

(4)輸出月,日,年,逗號(hào)“,”分隔,格式:09,06,2023。

(5)用str.format()格式輸出,格式:2023年09月06日。

(6)用字符串拼接方法輸出,格式:2023年09月06日。①年、月、日由input()函數(shù)輸入,則year,month,date為字符串。題(1)至題(4)格式大致相同,區(qū)別在于分隔符不一樣。②題(5)要求用str.format()格式輸出,str由year年month月date日組成,year,month,date為變量。③題(6)要求用字符串拼接實(shí)現(xiàn),year,month,date為字符串,年,月,日也為字符串。實(shí)例

2.3歡迎入學(xué)開學(xué)了,你考上了xx大學(xué),校園的電子屏上顯示著以下歡迎界面:|+++++++++++++++++++++++|| ||WelcometoXX大學(xué) || ||+++++++++++++++++++++++|(1)請(qǐng)編程輸出以上界面。(2)編寫程序,用戶輸入自己的姓名,在上述歡迎界面下輸出“歡迎您,**同學(xué)!”例如輸入“吳小明”,在上述歡迎界面下輸出“歡迎您,吳小明同學(xué)!”。

題(1)中xx是由用戶輸入學(xué)校名稱,應(yīng)由input()函數(shù)來獲取輸入。其他字符是不變的,可以用字符串來實(shí)現(xiàn)。

題(2)在題(1)的信息輸出下面輸出“歡迎您,**同學(xué)!”,其中**為用戶輸入姓名信息,其他用字符串來實(shí)現(xiàn)。實(shí)例

2.4數(shù)學(xué)四則運(yùn)算Python可以方便地實(shí)現(xiàn)計(jì)算器的功能。數(shù)學(xué)意義上的加、減、乘、除分別為符號(hào)“+、-、*、/”表示。(1)輸入兩個(gè)非零整數(shù),在4行中按順序輸出兩個(gè)數(shù)的加、減、乘、除的計(jì)算結(jié)果。(2)輸入兩個(gè)非零整數(shù),在4行中按順序輸出兩個(gè)數(shù)的加、減、乘、除的計(jì)算式和計(jì)算結(jié)果。要求輸出與示例格式相同,符號(hào)前后各有一個(gè)空格。(3)輸入兩個(gè)非零浮點(diǎn)數(shù),在4行中按順序輸出兩個(gè)數(shù)的加、減、乘、除的計(jì)算式和計(jì)算結(jié)果。計(jì)算結(jié)果str.format()方法保留小數(shù)點(diǎn)后3位數(shù)字。要求輸出與示例格式相同,符號(hào)前后各有一個(gè)空格。學(xué)習(xí)總結(jié)變量是指程序運(yùn)行時(shí)可以改變值的量。標(biāo)識(shí)符只能由大小寫英文字母、數(shù)字和下劃線組成的字符串,可作為變量名,關(guān)鍵字等。關(guān)鍵字是指Python語言有特殊意義的標(biāo)識(shí)符,不能用作他用。變量是通過賦值來改變其值,變量總是記錄最新一次賦值結(jié)果。學(xué)習(xí)總結(jié)算術(shù)運(yùn)算的基本類型:整型、浮點(diǎn)型、復(fù)數(shù)型,它們之間可以通過函數(shù)完成類型的轉(zhuǎn)換。print()函數(shù)用于輸出數(shù)據(jù),多個(gè)對(duì)象間默認(rèn)用空格分隔,可以修改sep參數(shù)值指定分隔符。每個(gè)print()函數(shù)默認(rèn)用換行符結(jié)束,可修改end參數(shù)的值指定語句的結(jié)束符。可用str.format()方法將待輸出格式化成期望的格式。input()函數(shù)用于從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)接收用戶輸入的一個(gè)字符串。謝謝大家!Python程序設(shè)計(jì)第三章

常用運(yùn)算Python程序設(shè)計(jì)本章要點(diǎn)成員運(yùn)算算術(shù)運(yùn)算比較運(yùn)算邏輯運(yùn)算位運(yùn)算運(yùn)算優(yōu)先級(jí)學(xué)習(xí)目標(biāo)掌握算術(shù)運(yùn)算符的應(yīng)用;掌握關(guān)系運(yùn)算符的應(yīng)用;掌握邏輯運(yùn)算符的應(yīng)用;了解常用的數(shù)學(xué)函數(shù)的應(yīng)用;理解math庫中的函數(shù)及應(yīng)用。1算術(shù)運(yùn)算算術(shù)運(yùn)算符與表達(dá)式Python內(nèi)置了7個(gè)基本的數(shù)值運(yùn)算操作符,在運(yùn)算過程中可以直接使用運(yùn)算符功能描述實(shí)例+加:兩個(gè)對(duì)象相加print(a+b)#結(jié)果為13-減:兩個(gè)對(duì)象相減或得到負(fù)數(shù)print(a-b)#結(jié)果為3*乘:兩個(gè)數(shù)相乘print(a*b)#結(jié)果為40/除:兩個(gè)數(shù)相除print(a/b)#結(jié)果為1.6//整除:返回商的整數(shù)部分print(a//b)#結(jié)果為1print(-10//4)#結(jié)果為-3%取模:a%b=a-(a//b)*bprint(a%b)#結(jié)果為3print(-10//3)#結(jié)果為2**冪:返回x的y次冪print(a**b)#結(jié)果為32768算術(shù)運(yùn)算符與表達(dá)式精確除法(/),直接進(jìn)行除法運(yùn)算,得到浮點(diǎn)數(shù)的運(yùn)算結(jié)果。整除(//),

采用的是向下取整的算法得到整數(shù)結(jié)果。print(12/4)#精確除的結(jié)果永遠(yuǎn)為浮點(diǎn)數(shù)3.0print(10//4)#取負(fù)無窮大方向最接近2.5的那個(gè)整數(shù)2print(10.0//4)#2.0,結(jié)果為浮點(diǎn)類型的整數(shù)print(-10/4)#-2.5print(-10//4)#取負(fù)無窮大方向最接近-2.5的那個(gè)整數(shù)-3算術(shù)運(yùn)算符與表達(dá)式%運(yùn)算符是取模運(yùn)算,其運(yùn)算意義是a整除b得到余數(shù),(r=a-(a//b)*b)。print(11%4)#輸出:3print(11%-4)#輸出:-1print(3.5%-2)#輸出:-0.5print(4%-2)

#輸出:0print(-11%4)#輸出:1print(-11%-4)#輸出:-3算術(shù)運(yùn)算符與表達(dá)式Python中冪運(yùn)算與數(shù)學(xué)上的形式也不同,不是ab,而是a**b,用兩個(gè)星號(hào)“**”表示冪運(yùn)算。冪運(yùn)算優(yōu)先級(jí)比取反運(yùn)算高。如,-3**2先進(jìn)行冪運(yùn)算,再取反,最終的值為-9。為了避免優(yōu)先級(jí)問題,可以在合適的地方加括號(hào)以保證運(yùn)算順序。-(3**2)先冪運(yùn)算再取反,結(jié)果為-9;(-3)**2則先取反,再進(jìn)行冪運(yùn)算,結(jié)果為9。算術(shù)運(yùn)算符與表達(dá)式表達(dá)式是用運(yùn)算符將對(duì)象連接起來構(gòu)成的式子,程序設(shè)計(jì)中表達(dá)式的寫法與數(shù)學(xué)中的表達(dá)式稍有不同,需要按照程序設(shè)計(jì)語言規(guī)定的表示方法構(gòu)造表達(dá)式。在復(fù)雜表達(dá)式中適當(dāng)加括號(hào)是較好的編程習(xí)慣,既可以確保運(yùn)算按自己預(yù)定的順序進(jìn)行,又提高程序的可讀性和可維護(hù)性。實(shí)例

3.1一元二次方程求解一元二次方程可以用求根公式進(jìn)行求解。編程求一個(gè)一元二次方程:x2+4x+4=0的實(shí)根。常用數(shù)學(xué)運(yùn)算函數(shù)Python內(nèi)置了一系列與數(shù)學(xué)運(yùn)算相關(guān)的函數(shù)可以直接使用。詳見

表3.2pow(x,y[,z])函數(shù)在進(jìn)行冪運(yùn)算的同時(shí)可以進(jìn)行模運(yùn)算。round(number[,n])函數(shù)的作用是把浮點(diǎn)數(shù)number轉(zhuǎn)換成保留n位小數(shù)的形式,n為整數(shù),缺省值是0,當(dāng)省略參數(shù)n時(shí),返回最接近輸入數(shù)字的整數(shù)。當(dāng)n超過小數(shù)位數(shù)時(shí),返回該數(shù)的最短表示。常用數(shù)學(xué)運(yùn)算函數(shù)round(number[,n])函數(shù)示例print(round(3.1415))#3print(round(3.6415))#4print(round(3.0000,2))#期望輸出3.00,實(shí)際輸出其浮點(diǎn)數(shù)的最短表示3.0print(round(3.14,4))#期望輸出3.1400,實(shí)際輸出3.14print(round(3.1250001,2))#3.13五后非零就進(jìn)一print(round(3.125,2))#3.12五前為偶應(yīng)舍去print(round(3.115,2))#3.12五前為奇要進(jìn)一#絕大多數(shù)浮點(diǎn)數(shù)無法精確轉(zhuǎn)為二進(jìn)制導(dǎo)致取舍與期望不符#0.1425計(jì)算機(jī)中存0.14250000000000002print(round(3.1425,3))#期望輸出3.142實(shí)際輸出3.143print(round(2.675,2))#期望輸出2.68實(shí)際輸出2.67math庫及其應(yīng)用在數(shù)學(xué)運(yùn)算之中,除了加、減、乘、除運(yùn)算之外,還有其他更多的運(yùn)算,比如乘方、開方、對(duì)數(shù)運(yùn)算等等,要實(shí)現(xiàn)這些運(yùn)算,可以使用Python中的Math模塊。模塊(module)是Python中非常重要的東西,可以把它理解為Python的擴(kuò)展工具,可提供面向特定領(lǐng)域或方向的程序功能。Python安裝好之后,默認(rèn)安裝了一些模塊,稱為“標(biāo)準(zhǔn)庫”,“標(biāo)準(zhǔn)庫”中的模塊不需要安裝就可以直接使用。沒有納入標(biāo)準(zhǔn)庫的模塊,需要使用“pipinstall模塊名”安裝之后才能使用。math庫及其應(yīng)用Python中導(dǎo)入庫的方法有兩種。1)導(dǎo)入庫名,語法格式如下:

import<庫名>程序可以調(diào)用庫名中的所有函數(shù),調(diào)用庫中函數(shù)時(shí),需明確指出函數(shù)所在的庫的名稱,格式如下:

<庫名>.<函數(shù)名>(<函數(shù)參數(shù)>)importmath#導(dǎo)入math模塊,引用其中的函數(shù)時(shí)需要用在函數(shù)名前面加“math.”r=2area=math.pi*r*r#計(jì)算半徑為5的圓的面積print(math.pi)

#輸出math模塊中的pi值3.141592653589793print(area)

#輸出圓的面積12.566370614359172math庫及其應(yīng)用Python中導(dǎo)入庫的方法有兩種。2)直接導(dǎo)入庫中的函數(shù),可以同時(shí)引用多個(gè)函數(shù),各函數(shù)間用逗號(hào)分隔,也可以用通配符“*”,表示引入該庫中的所有函數(shù),語法如下:from<庫名>import<函數(shù)名,函數(shù)名,...,函數(shù)名>from<庫名>import*#其中*是通配符,代表該庫中所有函數(shù)

調(diào)用該庫的函數(shù)時(shí)不需要指明函數(shù)所在庫的名稱,格式如下:<函數(shù)名>(<函數(shù)參數(shù)>)frommathimportpi,sqrt#導(dǎo)入math中的常數(shù)pi和sqrt()函數(shù),直接引用函數(shù)名#frommathimport*#導(dǎo)入math模塊中的所有函數(shù),引用時(shí)直接引用函數(shù)名r=2area=pi*r*r#計(jì)算半徑為5的圓的面積print(pi)#輸出math模塊中的pi值3.141592653589793print(area)#輸入圓的面積12.566370614359172print(sqrt(2))#輸出2的平方根1.4142135623730951實(shí)例

3.2換披薩程序員小明在披薩店訂購了一個(gè)直徑為10英寸的披薩,送貨前客服打電話來說“對(duì)不起,10英寸的賣完了,為了補(bǔ)償您,我們給您2個(gè)直徑6英寸披薩好嗎?”看起來“2*6>10”似乎小明占了便宜。聰明的小明馬上寫了個(gè)程序計(jì)算了一下,然后向商家提出要求用3個(gè)6英寸的披薩替換的方案。2比較運(yùn)算比較運(yùn)算比較運(yùn)算用于比較兩個(gè)值或?qū)ο螅⒋_定它們之間的關(guān)系,結(jié)果是一個(gè)邏輯值:True或False。運(yùn)算符描述實(shí)例(a=5,b=10)==等于:比較a、b兩個(gè)對(duì)象是否相等(a==b)返回值False!=不等于:比較a、b兩個(gè)對(duì)象是否不相等(a!=b)返回值True>大于:若a大于b成立則返回True,否則返回Flase(a>b)返回值False<小于:若a小于b成立則返回True,否則返回Flase(a<b)返回值True>=大于等于:若a大于等于b成立則返回True,否則返回Flase(a>=b)返回值False<=小于等于:若a小于等于b成立則返回True,否則返回Flase(a<=b)返回值Trueisis是判斷兩個(gè)標(biāo)識(shí)符是不是引用自一個(gè)對(duì)象c=10print(cisb)返回值Trueisnotisnot是判斷兩個(gè)標(biāo)識(shí)符是不是引用自不同對(duì)象print(aisnotb)返回值True比較運(yùn)算比較運(yùn)算用于比較兩個(gè)值或?qū)ο?,并確定它們之間的關(guān)系,結(jié)果是一個(gè)邏輯值:True或False。注意數(shù)值類型會(huì)根據(jù)數(shù)字大小和正負(fù)進(jìn)行比較,而字符串會(huì)根據(jù)字符串序列值進(jìn)行比較。除不同種數(shù)值類型以外,不同類型的對(duì)象不能進(jìn)行比較運(yùn)算is與isnot用于比較兩個(gè)對(duì)象是否為同一個(gè)對(duì)象,也就是比較兩個(gè)對(duì)象的存儲(chǔ)單元是否相同比較運(yùn)算符,它們的優(yōu)先級(jí)相同,且比布爾運(yùn)算優(yōu)先級(jí)高。比較運(yùn)算符可以連續(xù)使用。比較運(yùn)算關(guān)系表達(dá)式在問題求解中主要用于條件判定score=int(input())#比較score和60的大小,大于或等于60時(shí)輸出pass,否則輸出failifscore>=60:print('pass')else:print('fail')year=int(input())#如果year能被400整除,輸出閏年ifyear%400==0:print('閏年')#如果year能被4整除,且不能被100整除,輸出閏年ifyear%4==0:ifyear%100!=0:print('閏年')3成員運(yùn)算成員運(yùn)算成員運(yùn)算:可以用于判斷一個(gè)對(duì)象是否在某一個(gè)序列中notinin如果對(duì)象在某一個(gè)序列中存在,返回True,否則返回False如果對(duì)象在某一個(gè)序列中不存在,返回True,否則返回FalsePython中的成員運(yùn)算使用語法是:obj

[not]in

sequence成員運(yùn)算c=input()#如果c是字符串'13579'中的成員,輸出c是奇數(shù)ifcin'13579':print(c,'是奇數(shù)')#如果c是字符串'0123456789'中的成員,輸出n是數(shù)字ifcin'0123456789':print(c,'是數(shù)字')ifcnotin'abcdefghijklmnopqrstuvwxyz':print(c,'不是小寫字母')目前Python中的成員運(yùn)算主要用于判斷一個(gè)字符是否屬于某個(gè)字符串或可以判斷一個(gè)數(shù)據(jù)對(duì)象是否在某個(gè)列表中4邏輯運(yùn)算邏輯運(yùn)算Python語言支持邏輯運(yùn)算,包括“and(與)”、“or(或)”、“not(非)”運(yùn)算?;颍簝H當(dāng)x和y均為假,xory為假xory非:

用于反轉(zhuǎn)操作數(shù)的邏輯狀態(tài),如果x為True,返回False。如果x為False,返回Truenotx與:僅當(dāng)x和y均為真,xandy為真xandyorandnot邏輯運(yùn)算示例:判定閏年的判定條件利用邏輯運(yùn)算符將多個(gè)關(guān)系表達(dá)式合并成一個(gè)邏輯表達(dá)式。year=int(input())ifyear%400==0oryear%4==0andyear%100!=0:#能被400整除是閏年;能被4整除且同時(shí)不能被100整除的是閏年,and優(yōu)先級(jí)高print(f'{year}年是閏年')else:print(f'{year}年是平年')邏輯運(yùn)算x,y,z=3,4,4s1="student"print(xory)#輸出3print(xandy)#輸出4print(notx)#輸出Falseprint(xandy-z)#輸出0Falseprint(xory-z)#輸出3print(nots1)#輸出FalsePython判定真假方法是先計(jì)算表達(dá)式,其值為非零,則Python判定該表達(dá)式為真;其值為0,則Python判定該表達(dá)式為假。邏輯運(yùn)算短路特性或惰性求值(1)在表達(dá)式xandy中,x為False時(shí),它不計(jì)算y的值,直接返回x的值;當(dāng)x的值為True時(shí),y的值決定整個(gè)表達(dá)式的值,也就是說此時(shí)返回y值。(2)在表達(dá)式xory中,x為True時(shí),它不計(jì)算y的值,直接返回x的值;當(dāng)x的值為False時(shí),y的值決定整個(gè)表達(dá)式的值,也就是說此時(shí)返回y值。birthdate=input('請(qǐng)輸入出生日期:')or'保密'print(birthdate)#不輸入,直接回車時(shí),輸出'保密'短路特性可以有效的避免無用地執(zhí)行代碼,可以作為一種技巧使用邏輯運(yùn)算print(True==1)#輸出Trueprint(False==0)#輸出Trueprint(1==True)#輸出回Trueprint(0==False)#輸出Trueprint(5+True)#5+1,輸出6print(True+False)#1+0,輸出1print(True*5+False*2)#1*5+0*2,輸出5Python用True表示真和False表示假,即關(guān)系表達(dá)式和邏輯表達(dá)式的值。Python允許使用數(shù)字“1”和“0”來代表True和Fasle的值,故True和Fasle可以直接參與數(shù)學(xué)運(yùn)算。邏輯運(yùn)算print(bool(Fraction(0,1)))#Fraction(0,1)表示分子為0的分?jǐn)?shù),即0/1,輸出Falseprint(bool(Decimal(0)))#輸出Falseprint(bool('hello'))#非空字符串,輸出Trueprint(bool(100))#非0數(shù)字,輸出Trueprint(bool(0.0))#數(shù)字0,輸出Falseprint(bool(''))#空格是非空字符串,輸出Trueprint(bool(''))#空字符串,輸出Falseprint(bool([]))#空列表,輸出Falseprint(bool(None))#None,輸出FalsePython中,以下情形外的定義,邏輯值均為True(真):定義常量為None或者False。任何數(shù)值類型的0,包括:0、0.0、0j、Decimal(0)、Fraction(0,1))??招蛄?、空字典、空集合、空對(duì)象等,如:(),[],{},set(),range(0)。5位運(yùn)算位運(yùn)算計(jì)算機(jī)中的數(shù)據(jù)都是用二進(jìn)制形式表示的,在python里面,給數(shù)值加上前綴'0b'或'0B'表示是二進(jìn)制數(shù)值,如下示例,左邊是二進(jìn)制,右邊是十進(jìn)制。0b01=>10B110=>60b1111=>15位運(yùn)算二進(jìn)制數(shù)值有自己的特殊運(yùn)算,可對(duì)每一位數(shù)字分別進(jìn)行的操作,稱之為位操作,Python位操作運(yùn)算符如表(表中x=5(二進(jìn)制:101),y=3(二進(jìn)制:11)運(yùn)算符邏輯表達(dá)式功能描述>>x>>y返回x向右移y位得到的結(jié)果print(x>>1)#輸出2,二進(jìn)制表示為10<<x<<y返回x向左移y位得到的結(jié)果。print(x<<1)#輸出10,二進(jìn)制表示為1010&x&y與操作,返回結(jié)果的每一位是x和y中對(duì)應(yīng)位做and運(yùn)算的結(jié)果,只有1and1=1,其他情況為0print(x&y)#輸出1,二進(jìn)制表示為001|x|y或操作,返回結(jié)果的每一位是x和y中對(duì)應(yīng)位做or運(yùn)算的結(jié)果,只有0or0=0,其他情況位1print(x|y)#輸出7,二進(jìn)制表示為111~~x反轉(zhuǎn)操作,對(duì)x求的每一位求補(bǔ),只需記住結(jié)果是-x–1print(~x)#輸出-6,二進(jìn)制表示為#11111111111111111111111111111010^x^y異或運(yùn)算,如果x和y對(duì)應(yīng)位是相同,那么該位取0,如果x和y對(duì)應(yīng)位是相異,那么該位取1print(x^y)#輸出6,二進(jìn)制表示為1106運(yùn)算優(yōu)先級(jí)運(yùn)算優(yōu)先級(jí)序號(hào)運(yùn)算符描述1()括號(hào),運(yùn)算優(yōu)先級(jí)最高2**冪運(yùn)算3+x,-x,~正號(hào)、負(fù)號(hào)、按位翻轉(zhuǎn)4*,/,//,%乘法、除法、整除、取模5+、-加法、減法6<<、>>移位7&按位與8^按位異或9|按位或10<、<=、>、>=、!=、==is、isnotin、notin比較運(yùn)算符同一性測(cè)試成員測(cè)試11not邏輯非12and邏輯運(yùn)算符13or邏輯運(yùn)算符14lambdalambda函數(shù)運(yùn)算優(yōu)先級(jí)最低運(yùn)算優(yōu)先級(jí)進(jìn)行程序設(shè)計(jì)時(shí),可以使用括號(hào)的優(yōu)先級(jí)最高這一特性,強(qiáng)制表達(dá)式按照需要的順序求值,括號(hào)中的表達(dá)式會(huì)優(yōu)先執(zhí)行。表達(dá)式中適當(dāng)使用括號(hào),則無需猜測(cè)和核對(duì)哪個(gè)運(yùn)算符優(yōu)先級(jí)更高,可降低編程者的記憶負(fù)擔(dān)。print(4*2**3)#先計(jì)算冪再計(jì)算乘法,輸出:32print(3+4*-2)#先取反、相乘再做加法,輸出:-5print(3+4*2/2)#先計(jì)算乘除法,有除法參與運(yùn)算,得到結(jié)果為浮點(diǎn)數(shù),輸出:7.0print(3<<2+1)#加法優(yōu)先級(jí)比左移高,先加后左移,3(0b11)變成24(0b11000)print(4*(2**3))#先計(jì)算冪再計(jì)算乘法,輸出:32print(3+(4*(-2)))#先取反、相乘再做加法,輸出:-5print(3+(

(4*2)/2))#先計(jì)算乘除法,有除法參與運(yùn)算,得到結(jié)果為浮點(diǎn)數(shù),輸出:7.0print(3<<(2+1))#加法優(yōu)先級(jí)比左移高,先加后左移,3(0b11)變成24(0b11000)學(xué)習(xí)總結(jié)Python內(nèi)置了7個(gè)數(shù)值運(yùn)算操作符:+、-、*、/、//、%和**,分別對(duì)應(yīng)加、減、乘、除、整除、取模和冪運(yùn)算。它們的優(yōu)先級(jí)不全相同,計(jì)算時(shí)可用括號(hào)保證計(jì)算順序。Python內(nèi)置了一系列與數(shù)值運(yùn)算相關(guān)的函數(shù)可以直接使用,math庫中提供了更豐富的數(shù)學(xué)相關(guān)函數(shù),可以用“importmath”將math庫導(dǎo)入后調(diào)用其中的函數(shù)。學(xué)習(xí)總結(jié)Python還提供了關(guān)系運(yùn)算符、邏輯運(yùn)算符、成員運(yùn)算符、位運(yùn)算符。Python中真值的表示:用True表示真,F(xiàn)alse表示假。真值的判別:非零值為True,零值、空值和None均為False。運(yùn)算符優(yōu)先級(jí)從高到低:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、成員運(yùn)算符、邏輯運(yùn)算符。謝謝大家!Python程序設(shè)計(jì)第四章

程序流程控制Python程序設(shè)計(jì)本章要點(diǎn)分支結(jié)構(gòu)程序控制結(jié)構(gòu)順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)continue語句break語句學(xué)習(xí)目標(biāo)掌握常用運(yùn)算符及運(yùn)算符的優(yōu)先級(jí);理解for…inrange()循環(huán)結(jié)構(gòu);理解while循環(huán)結(jié)構(gòu)的流程控制;理解continue和break語句的功能與應(yīng)用;了解pass語句的功能與應(yīng)用。1程序控制結(jié)構(gòu)程序控制結(jié)構(gòu)結(jié)構(gòu)化的程序設(shè)計(jì)方法中三種基本流程控制結(jié)構(gòu):

①順序結(jié)構(gòu);②分支結(jié)構(gòu);③循環(huán)結(jié)構(gòu);①

順序結(jié)構(gòu)

分支結(jié)構(gòu)

③循環(huán)結(jié)構(gòu)2順序結(jié)構(gòu)順序結(jié)構(gòu)順序結(jié)構(gòu)順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的。radius=6378.137#地球赤道半徑6378.137kmdensity=5507.85#地球平均密度5507.85kg/m3pi=3.141592653589793#圓周率pi值volume=4/3*pi*radius**3#計(jì)算地球體積,立方千米print(f'地球體積約為{volume}立方千米')#地球體積約為1086851326519.959立方千米weight=volume*1000**3*density#計(jì)算地球質(zhì)量,kgprint(f'地球質(zhì)量約為{weight}千克')#地球質(zhì)量約為5.986214078772957e+24千克3分支結(jié)構(gòu)順序結(jié)構(gòu)順序結(jié)構(gòu)順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的。radius=6378.137#地球赤道半徑6378.137kmdensity=5507.85#地球平均密度5507.85kg/m3pi=3.141592653589793#圓周率pi值volume=4/3*pi*radius**3#計(jì)算地球體積,立方千米print(f'地球體積約為{volume}立方千米')#地球體積約為1086851326519.959立方千米weight=volume*1000**3*density#計(jì)算地球質(zhì)量,kgprint(f'地球質(zhì)量約為{weight}千克')#地球質(zhì)量約為5.986214078772957e+24千克分支結(jié)構(gòu)二分支結(jié)構(gòu)如果滿足某一條件,就做某些動(dòng)作,否則進(jìn)行另一些動(dòng)作if條件測(cè)試表達(dá)式1:

語句塊1else:

語句塊2if…else語句基本結(jié)構(gòu)實(shí)例4.1成績是否合格的判定輸入一個(gè)整數(shù)成績,當(dāng)輸入分?jǐn)?shù)大于等于60時(shí)輸出提示“Pass”,否則輸出“Fail”。分支結(jié)構(gòu)多分支結(jié)構(gòu)將整個(gè)區(qū)間分為若干個(gè)區(qū)間,當(dāng)滿足其中某一個(gè)區(qū)間的條件時(shí),一定不會(huì)再滿足后續(xù)的其他條件if條件測(cè)試表達(dá)式1:語句塊1elif條件測(cè)試表達(dá)式2:語句塊2elif條件測(cè)試表達(dá)式3:語句塊3……else:語句塊nif…elif…else語句基本結(jié)構(gòu)實(shí)例4.2百分制分?jǐn)?shù)轉(zhuǎn)五分制

輸入一個(gè)整數(shù),當(dāng)輸入不在[0,100]區(qū)間時(shí)輸出提示“Dataerror!”;當(dāng)輸入滿足[0,100]區(qū)間時(shí),用多分支結(jié)構(gòu)實(shí)現(xiàn)百分制轉(zhuǎn)五分制。實(shí)現(xiàn)規(guī)則是根據(jù)分?jǐn)?shù)所在區(qū)間[0,60)、[60,70)、[70,80)、[80,90)、[90,100],分別輸出字符“E”、“D”、“C”、“B”、“A”。分支結(jié)構(gòu)單分支結(jié)構(gòu)滿足某條件時(shí),執(zhí)行一定的操作,反之則不做任何操作。if條件測(cè)試表達(dá)式1:語句塊1if語句基本結(jié)構(gòu)實(shí)例4.2百分制分?jǐn)?shù)轉(zhuǎn)五分制

輸入一個(gè)整數(shù),當(dāng)輸入不在[0,100]區(qū)間時(shí)輸出提示“Dataerror!”;當(dāng)輸入滿足[0,100]區(qū)間時(shí),用多分支結(jié)構(gòu)實(shí)現(xiàn)百分制轉(zhuǎn)五分制。實(shí)現(xiàn)規(guī)則是根據(jù)分?jǐn)?shù)所在區(qū)間[0,60)、[60,70)、[70,80)、[80,90)、[90,100],分別輸出字符“E”、“D”、“C”、“B”、“A”。實(shí)例4.3用戶驗(yàn)證編程實(shí)現(xiàn)用戶驗(yàn)證功能:用戶在兩行里分別輸入用戶名和密碼,當(dāng)用戶名為“admin”且密碼為“123456時(shí)”,顯示“登錄成功”,否則顯示“用戶名或密碼錯(cuò)誤”。???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

溫馨提示

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

評(píng)論

0/150

提交評(píng)論