第3章:基本數(shù)據(jù)類型與數(shù)據(jù)運(yùn)算_第1頁
第3章:基本數(shù)據(jù)類型與數(shù)據(jù)運(yùn)算_第2頁
第3章:基本數(shù)據(jù)類型與數(shù)據(jù)運(yùn)算_第3頁
第3章:基本數(shù)據(jù)類型與數(shù)據(jù)運(yùn)算_第4頁
第3章:基本數(shù)據(jù)類型與數(shù)據(jù)運(yùn)算_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

第3章:基本數(shù)據(jù)類型和數(shù)據(jù)運(yùn)算(共2課時)第1課時:基本類型和算術(shù)運(yùn)算3.1.2浮點(diǎn)數(shù)類型3.1.4布爾類型整數(shù)0和浮點(diǎn)數(shù)0.0.語法說明函數(shù)返回一個字符串類型的數(shù)據(jù)6.'123456789’【示例3-2】6.'3.1415926’【示例3-3】把布爾型數(shù)據(jù)轉(zhuǎn)換為字符串類型,在Shell模式下編寫如下程6.'False’第3頁共19頁不能轉(zhuǎn)換為整數(shù)類型,只有純數(shù)字的字符串才能轉(zhuǎn)換為整數(shù)類型。int函數(shù)的語法見表3-2。語法說明函數(shù)返回一個整數(shù)類型的數(shù)據(jù)【示例3-4】【示例3-5】用了四舍五入的方式?答案在第4~6行中??梢园l(fā)現(xiàn),如果是四舍五入,第6行應(yīng)該輸出整數(shù)2,但是第【示例3-6】第4頁共19頁【代碼解析】第1~3行:使用int函數(shù)將布爾型數(shù)據(jù)False轉(zhuǎn)換為整數(shù),結(jié)果是0。第4~6行:使用int函數(shù)將布爾型數(shù)據(jù)True轉(zhuǎn)換為整數(shù),結(jié)果是1?!臼纠?-7】模式下編寫如下第1、2行程序,程序運(yùn)行結(jié)果如第3~6行所示:4.File"<pyshell#1>",line6.ValueError:invalidliteralforint()withbase10【代碼解析】第1行定義了一個變量e賦值為字符串“abc123”,使用int函數(shù)試圖把字行串變量e轉(zhuǎn)換為整數(shù)時,發(fā)生了如第3~6行所示的錯誤提示,即不能把非純數(shù)字字符串類型的數(shù)據(jù)轉(zhuǎn)換為整數(shù)類型的數(shù)據(jù)。3.2.3float把其他類型的數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)數(shù)類型float函數(shù)可以把其他關(guān)型的數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)數(shù)類型。與int函數(shù)類似,float字符串或者帶有數(shù)字和小數(shù)點(diǎn)的字符串轉(zhuǎn)換為浮點(diǎn)數(shù),不能把帶字母和其他符號的字符串轉(zhuǎn)換為浮點(diǎn)數(shù)。float函數(shù)的語法見表3-3。語法說明函數(shù)返回一個浮點(diǎn)數(shù)類型的數(shù)據(jù)【示例3-8】把布爾型數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)數(shù)類型,在Shell模式下編寫如下程【代碼解析】第1~6行:把布爾型的False與True轉(zhuǎn)換為浮點(diǎn)型數(shù)據(jù),結(jié)果分別為0.0與1.0?!臼纠?-9】第5頁共19頁把字符串類型數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)數(shù)類型,在Shell模式下編寫如下程【示例3-10】第1~3行:把整數(shù)2020轉(zhuǎn)換為浮點(diǎn)數(shù)的結(jié)果為2020.0?!臼纠?-11】把字符串型數(shù)據(jù)轉(zhuǎn)換為浮點(diǎn)數(shù)類型,在Shell模式下編寫如下程第1~3行:把純數(shù)字的字符串"2020"轉(zhuǎn)換為浮點(diǎn)數(shù)2020.0,可見字符串“2020”呢?函數(shù)語法見表3-4。語法說明函數(shù)返回一個布爾類型的數(shù)據(jù)【示例3-12】第4~6行:把整數(shù)0轉(zhuǎn)換為布爾類型的結(jié)果為Fase。第6頁共19頁【示例3-13】把字符串型數(shù)據(jù)轉(zhuǎn)換為布爾類型,在Shell模式下編寫如下程序。第1~3行:把字符串hello轉(zhuǎn)換為布爾類型的結(jié)果為True?!臼纠?-14】第4~6行:把浮點(diǎn)數(shù)0.0轉(zhuǎn)換為布爾類型的結(jié)果為數(shù)據(jù)類型整數(shù)類型浮點(diǎn)數(shù)類型字符串類型布爾類型整數(shù)類型√√√浮點(diǎn)數(shù)類型√√√字符串類型√布爾類型√√√【示例3-15】【代碼解析】第11~14行:浮點(diǎn)數(shù)與布爾型數(shù)據(jù)相加,這時True值為1.0,False值為0.0,可以參考第15~18行。特別需要注意的是第11行和第15行,即3.1415+True與3.1415數(shù)據(jù)類型整數(shù)類型浮點(diǎn)數(shù)類型字符串類型布爾類型整數(shù)類型√√√浮點(diǎn)數(shù)類型√√√字符串類型布爾類型√√√【示例3-16】第8頁共19頁【代碼解析】3.3.3乘法運(yùn)算數(shù)據(jù)類型整數(shù)類型浮點(diǎn)數(shù)類型字符串類型布爾類型整數(shù)類型√√√√浮點(diǎn)數(shù)類型√√√字符串類型√√布爾類型√√√√【示例3-17】,'hello’【代碼解析】3.3.4除法運(yùn)算第9頁共19頁數(shù)據(jù)類型整數(shù)類型浮點(diǎn)數(shù)類型字符串類型布爾類型整數(shù)類型√√√浮點(diǎn)數(shù)類型√√√字符串類型布爾類型√√√示例3-8:【代碼注釋】需要注意的是,布爾類型數(shù)據(jù)False不能做除數(shù),因?yàn)橄喑m然100能夠被5整除,但是結(jié)果不是整數(shù)20,而是默認(rèn)轉(zhuǎn)換為浮點(diǎn)數(shù)20.0。3.3.5除法取整數(shù)據(jù)類型整數(shù)類型浮點(diǎn)數(shù)類型字符串類型布爾類型整數(shù)類型√浮點(diǎn)數(shù)類型字符串類型布爾類型【示例3-19】實(shí)現(xiàn)整數(shù)與整數(shù)的除法以及除法取整運(yùn)算。在shell模式下編寫如下程100和3除法取整,結(jié)果為33,只保留了商的整數(shù)部分,舍棄了小數(shù)部分。3.3.6除法取余數(shù)據(jù)類型整數(shù)類型浮點(diǎn)數(shù)類型字符串類型布爾類型整數(shù)類型√浮點(diǎn)數(shù)類型字符串類型布爾類型【示例3-20】XXPython3.10.5(tags/v3.10.5:f377153,Jun62022,16:14:13)[MSCv.192964圖3-1計(jì)算結(jié)果(面積=PI*r*r),計(jì)算周長和面積,最后使用print函數(shù)輸出圓的周長和面積。程序如下所示:2.r=input("請輸入圓的半徑:")6.print("圓的周長為:"+str(1)).print("圓的面積為:"+str(s)).第1行:定義一個變量PI,并賦值為3.14。第11頁共19頁 Type"help","copyright","credits"or"license()請輸入圓的半徑:10圖3-2案例3-1的輸出結(jié)果【課后作業(yè)】 2.下屬算式的計(jì)算結(jié)果是什么? 4.實(shí)踐題(1)小王的考試成績?nèi)缦拢Z文78分,數(shù)學(xué)92分,英語97分。用input函數(shù)輸入這3科的成績,然后(2)小王打算買100支鉛筆,他發(fā)現(xiàn)每支鉛筆1.23元,一共需要多少元?。5.編程題編寫有一段python程序,實(shí)現(xiàn)如下功能:輸入長方形的長和寬,輸出該長方形的(1)使用input函數(shù)獲取長和寬的值,分別賦值給兩個變量。(2)使用int函數(shù)把輸入的兩個變量轉(zhuǎn)換為整數(shù)類型。(3)使用長方形的周長公式和面積公式計(jì)算長方形的周長和面積,并利用print函數(shù)輸出。第12頁共19頁7.輸入兩個數(shù)x,y,求出8.輸入兩個數(shù)x,y,z,求出這三個數(shù)的平均數(shù)。9.編程求出算式第13頁共19頁行運(yùn)算。位運(yùn)算符以及運(yùn)算規(guī)則見表3-11.運(yùn)算規(guī)則&與兩個進(jìn)制位都為1時,結(jié)果才為1,否則為0或兩個進(jìn)制位都為0時,結(jié)果才為0,否則為1A異或兩個進(jìn)制位不相等時為1,否則為00變1,1變0左移各二進(jìn)制位全部左移若干位,低位補(bǔ)0右移對無符號數(shù),高位補(bǔ)0;對有符號數(shù),各編譯器的處理方法不一樣,有的補(bǔ)符號位(算術(shù)右移),有的補(bǔ)0(邏輯右移)1,否則為0?!臼纠?-21】實(shí)現(xiàn)整數(shù)與整數(shù)的按位與運(yùn)算。在shell模式下編寫如下程0b1100100’’0b1100011’’0b1100000’第1、2行:把十進(jìn)制的100轉(zhuǎn)換為二進(jìn)制數(shù)0b1100100,其中0b表示該數(shù)是二進(jìn)制數(shù)。第2、3行:把十進(jìn)制數(shù)99轉(zhuǎn)換為二進(jìn)制數(shù)0b1100011.第5、6行:將十進(jìn)制整數(shù)100與99做按位與運(yùn)算,結(jié)果為十進(jìn)制整數(shù)96.第7、8行:查看96轉(zhuǎn)換為二進(jìn)制數(shù)的結(jié)果,為0b1100000。進(jìn)制二進(jìn)制數(shù)數(shù)據(jù)一1100100數(shù)據(jù)二1100011按位與結(jié)果11000003.4.2按位或時,結(jié)果為0,否則為1?!臼纠?-22】實(shí)現(xiàn)整數(shù)與整數(shù)的按位或運(yùn)算。在shell模式下編寫如下程第1~4行:把十進(jìn)制整數(shù)100和99轉(zhuǎn)換為二進(jìn)制數(shù)。第5、6行:將整數(shù)100與整數(shù)99做按位或運(yùn)算,結(jié)果為十進(jìn)制整數(shù)103。進(jìn)制二進(jìn)制數(shù)數(shù)據(jù)一1100100數(shù)據(jù)二10001按位或結(jié)果11001113.4.3按位異或【示例3-23】實(shí)現(xiàn)整數(shù)與整數(shù)的按位異或運(yùn)算。在shell模式下編寫如下程序:’0b1100011’7第1~4行:把十進(jìn)制整數(shù)100和99轉(zhuǎn)換為二進(jìn)制數(shù)。第5、6行:將整數(shù)100和99做按位異或運(yùn)算,結(jié)果為十進(jìn)制整數(shù)7.通過表3-14可以清楚地了解按位異或運(yùn)進(jìn)制二進(jìn)制數(shù)數(shù)據(jù)一00100數(shù)據(jù)二1100011按位異或結(jié)果700001113.4.4左移位【示例3-24】實(shí)現(xiàn)整數(shù)左移位運(yùn)算。在shell模式下編寫如下程第15頁共19頁【代碼解析】第1、2行:把整數(shù)50左移1位后,結(jié)果位100.第3、4行:把整數(shù)50左移2位后,結(jié)果位200.第5、6行:把整數(shù)50左移3位后,結(jié)果位200.進(jìn)制二進(jìn)制數(shù)原數(shù)據(jù)1100101100100110010001100100003.4.5右移位實(shí)現(xiàn)整數(shù)的右移位運(yùn)算。在shell模式下編寫如下程序:【代碼解析】進(jìn)制二進(jìn)制數(shù)原數(shù)據(jù)1010111右移1位1010111右移2位101011右移3位10101右移4位10103.4.6求反求反運(yùn)算,顧名思義,就是二進(jìn)制數(shù)為1的變成0,為0的變成1.【示例3-26】9可以是發(fā)現(xiàn)求反運(yùn)算的運(yùn)算規(guī)則是:對正數(shù)的求反結(jié)果,為原數(shù)據(jù)加1后的相反數(shù),如對10的求反過程是10加1,即為11的相反數(shù)-11;對負(fù)數(shù)的求反結(jié)果,同樣是原數(shù)據(jù)加1后的相反數(shù),如對-15求反的過程是-15加1,即為-14的相反數(shù)14.3.4.7冪運(yùn)算Python編程中,冪運(yùn)算的符號為兩個星號“*”?!臼纠?-27】實(shí)現(xiàn)正數(shù)與負(fù)數(shù)的冪運(yùn)算,注意冪運(yùn)算的優(yōu)先級高于求反運(yùn)算。在shell模式下編寫如下程【代碼解析】“*”前面為底數(shù),“*”后面為指數(shù)。3.5常用的數(shù)學(xué)運(yùn)算對于一些復(fù)雜的數(shù)學(xué)函數(shù),Python提供了相關(guān)函數(shù)。其中math模塊中包含了多個函數(shù),在此介紹常用的幾個數(shù)學(xué)函數(shù)。在除法運(yùn)算中,遇到除不盡的數(shù),以及浮點(diǎn)數(shù)參與運(yùn)算后會出現(xiàn)的損失精度問題,都會有很長的小數(shù)位。大多數(shù)情況下并不需要這么長的小數(shù)位,可以使用round函數(shù)四舍五入,保留指定的小數(shù)位。round函數(shù)的語法見表3-17.語法說明函數(shù)x為原數(shù)據(jù),n為小數(shù)點(diǎn)后的位數(shù)(n默認(rèn)為0)返回x四舍五入后的結(jié)果Round()函數(shù)如果不加第二個參數(shù),那么默認(rèn)舍入到整數(shù)位?!臼纠?-28】求100除以3的商,保留2位小數(shù)。在shell模式下編寫如下程第17頁共19頁第1~3行:求出100除以3的商,a為33.333333333333336。第5、6行:查看變量a的值為33.33.語法說明【示例3-29】分別使用abs函數(shù)求出整數(shù)與負(fù)數(shù)的絕對值。在shell模式下編寫如下程序:【代碼解析】常用函數(shù)和常數(shù)對迭代器中所有元素求和常數(shù)pi的值e常數(shù)e的值(e常常叫做自然常數(shù)或者歐拉數(shù))【示例3-30】下面分別對math模塊中常用函數(shù)和常數(shù)舉例說明。在shell模式下編寫如下程序:第18頁共19頁【代碼解析】第1行:導(dǎo)入math模塊。要使用math模塊中的函數(shù),必須首第2、3行:使用ceil函數(shù)求浮點(diǎn)數(shù)3.1向上取整,結(jié)果為4.第4、5行:使用floor函數(shù)對浮點(diǎn)數(shù)3.9向下取整,結(jié)果為整數(shù)3.第6、7行:使用pow函數(shù)求整數(shù)2的3次方,結(jié)果為浮點(diǎn)數(shù)8.0。第8、9行:使用sqrt函數(shù)求16的算

溫馨提示

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

評論

0/150

提交評論