Python電子教案基本數(shù)據(jù)類型課件_第1頁
Python電子教案基本數(shù)據(jù)類型課件_第2頁
Python電子教案基本數(shù)據(jù)類型課件_第3頁
Python電子教案基本數(shù)據(jù)類型課件_第4頁
Python電子教案基本數(shù)據(jù)類型課件_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Python電子教案基本數(shù)據(jù)類型ppt課件Python電子教案基本數(shù)據(jù)類型ppt課件第3章 基本數(shù)據(jù)類型 .2第3章 基本數(shù)據(jù)類型 .4數(shù)字類型.3數(shù)字類型.5數(shù)字類型程序元素:010/10,存在多種可能 表示十進制整數(shù)值10 類似人名一樣的字符串數(shù)字類型對Python語言中數(shù)字的表示和使用 進行了定義和規(guī)范.4數(shù)字類型程序元素:010/10,存在多種可能.6數(shù)字類型Python語言包括三種數(shù)字類型整數(shù)類型浮點數(shù)類型復(fù)數(shù)類型.5數(shù)字類型Python語言包括三種數(shù)字類型.7整數(shù)類型與數(shù)學(xué)中的整數(shù)概念一致,沒有取值范圍限制pow(x, y)函數(shù):計算xy打開IDLE 程序1:pow(2,10) ,

2、 pow(2,15) 程序2:pow(2, 1000) 程序3:pow(2, pow(2,15).6整數(shù)類型與數(shù)學(xué)中的整數(shù)概念一致,沒有取值范圍限制.8整數(shù)類型示例 1010, 99, -217 0 x9a, -0X89 (0 x, 0X開頭表示16進制數(shù)) 0b010, -0B101 (0b, 0B開頭表示2進制數(shù)) 0o123, -0O456 (0o, 0O開頭表示8進制數(shù)).7整數(shù)類型示例.9浮點數(shù)類型帶有小數(shù)點及小數(shù)的數(shù)字 Python語言中浮點數(shù)的數(shù)值范圍存在限制,小數(shù)精度也存在限制。這種限制與在不同計算機系統(tǒng)有關(guān).8浮點數(shù)類型帶有小數(shù)點及小數(shù)的數(shù)字 .10浮點數(shù)類型.9浮點數(shù)類型.

3、11浮點數(shù)類型示例 0.0, -77., -2.17 96e4, 4.3e-3, 9.6E5 (科學(xué)計數(shù)法) 科學(xué)計數(shù)法使用字母“e”或者“E”作為冪的符號,以10為基數(shù)??茖W(xué)計數(shù)法含義如下: e = a * 10b.10浮點數(shù)類型示例.12舉個例子, 現(xiàn)在用二進制來表示十進制的1.2: 1.01 = 1 + 1/4 = 0.25 , 偏大 1.001 = 1 + 1/8 = 0.125 , 偏小 1.0011 = 1 + 1/8 + 1/16 = 0.1875 , 1.001101 = 1 + 1/8+ 1/16 + 1/64 = 0.203125 , 又偏大 1.0011001 = 1 +

4、 1/8 + 1/16 + 1/128 = 0.1953125 , 1.00110011 = 1 + 1/8+1/16+1/128+1/256 = 0.19921875 , 這個很接近 .11舉個例子, 現(xiàn)在用二進制來表示十進制的1.2: .13復(fù)數(shù)類型與數(shù)學(xué)中的復(fù)數(shù)概念一致, z = a + bj, a是實數(shù)部分,b是虛數(shù)部分,a和b都是浮點類型,虛數(shù)部分用j或者J標識 示例: 12.3+4j, -5.6+7j.12復(fù)數(shù)類型與數(shù)學(xué)中的復(fù)數(shù)概念一致, z = a + bj, a復(fù)數(shù)類型z = 1.23e-4+5.6e+89j(實部和虛部是什么?)對于復(fù)數(shù)z,可以用z.real獲得實數(shù)部分,z.

5、imag獲得虛數(shù)部分z.real = 0.000123 z.imag = 5.6e+89.13復(fù)數(shù)類型z = 1.23e-4+5.6e+89j(實部和虛部數(shù)字類型的操作.14數(shù)字類型的操作.16內(nèi)置的數(shù)值運算操作符三種類型存在一種逐漸“擴展”的關(guān)系: 整數(shù) - 浮點數(shù) - 復(fù)數(shù) (整數(shù)是浮點數(shù)特例,浮點數(shù)是復(fù)數(shù)特例)不同數(shù)字類型之間可以進行混合運算,運算后生成結(jié)果為最寬類型123 + 4.0 = 127.0 (整數(shù) + 浮點數(shù) = 浮點數(shù)).15內(nèi)置的數(shù)值運算操作符三種類型存在一種逐漸“擴展”的關(guān)系:.1內(nèi)置的數(shù)值運算操作符數(shù)字類型之間相互運算所生成的結(jié)果是“更寬”的類型,基本規(guī)則是:整數(shù)之間

6、運算,如果數(shù)學(xué)意義上的結(jié)果是小數(shù),結(jié)果是浮點數(shù);整數(shù)之間運算,如果數(shù)學(xué)意義上的結(jié)果是整數(shù),結(jié)果是整數(shù);整數(shù)和浮點數(shù)混合運算,輸出結(jié)果是浮點數(shù);整數(shù)或浮點數(shù)與復(fù)數(shù)運算,輸出結(jié)果是復(fù)數(shù)。.16內(nèi)置的數(shù)值運算操作符數(shù)字類型之間相互運算所生成的結(jié)果是“更寬內(nèi)置的數(shù)值運算操作符操作符描述x + yx與y之和x - yx與y之差x * yx與y之積x / yx與y之商x / yx與y之整數(shù)商,即:不大于x與y之商的最大整數(shù)x % yx與y之商的余數(shù),也稱為模運算-xx的負值,即:x*(-1)+xx本身x*yx的y次冪,即:xy.17內(nèi)置的數(shù)值運算操作符操作符描述x + yx與y之和x - y內(nèi)置的數(shù)值運算

7、函數(shù)Python解釋器提供了一些內(nèi)置函數(shù),在這些內(nèi)置函數(shù)之中,有6個函數(shù)與數(shù)值運算相關(guān) 函數(shù)描述abs(x)x的絕對值divmod(x, y)(x/y, x%y),輸出為二元組形式(也稱為元組類型)pow(x, y, z)(x*y)%z,.表示該參數(shù)可以省略,即:pow(x,y),它與x*y相同round(x, ndigits)對x四舍五入,保留ndigits位小數(shù)。round(x)返回四舍五入的整數(shù)值max(x1, x2, , xn)x1, x2, , xn的最大值,n沒有限定min(x1, x2, , xn)x1, x2, , xn的最小值,n沒有限定.18內(nèi)置的數(shù)值運算函數(shù)Python解

8、釋器提供了一些內(nèi)置函數(shù),在這數(shù)字類型的轉(zhuǎn)換函數(shù)描述int(x)將x轉(zhuǎn)換為整數(shù),x可以是浮點數(shù)或字符串float(x)將x轉(zhuǎn)換為浮點數(shù),x可以是整數(shù)或字符串complex(re, im)生成一個復(fù)數(shù),實部為re,虛部為im,re可以是整數(shù)、浮點數(shù)或字符串,im可以是整數(shù)或浮點數(shù)但不能為字符串數(shù)值運算操作符可以隱式地轉(zhuǎn)換輸出結(jié)果的數(shù)字類型例如,兩個整數(shù)采用運算符“/”的除法將可能輸出浮點數(shù)結(jié)果。此外,通過內(nèi)置的數(shù)字類型轉(zhuǎn)換函數(shù)可以顯式地在數(shù)字類型之間進行轉(zhuǎn)換 .19數(shù)字類型的轉(zhuǎn)換函數(shù)描述int(x)將x轉(zhuǎn)換為整數(shù),x可以是浮數(shù)字類型的轉(zhuǎn)換三種類型可以相互轉(zhuǎn)換 函數(shù):int(), float(),

9、complex()示例: int(4.5) = 4 (直接去掉小數(shù)部分) float(4) = 4.0 (增加小數(shù)部分) complex(4) = 4 + 0J.20數(shù)字類型的轉(zhuǎn)換三種類型可以相互轉(zhuǎn)換.22數(shù)字類型的轉(zhuǎn)換示例:complex(4.5) = 4.5 + 0J.21數(shù)字類型的轉(zhuǎn)換示例:complex(4.5) = 4.5 +數(shù)字類型的判斷函數(shù):type(x),返回x的類型,適用于所有類型的判斷示例:.22數(shù)字類型的判斷函數(shù):type(x),返回x的類型,適用于所有math庫的使用.23math庫的使用.25math庫概述math庫是Python提供的內(nèi)置數(shù)學(xué)類函數(shù)庫math庫不支持

10、復(fù)數(shù)類型math庫一共提供了4個數(shù)學(xué)常數(shù)和44個函數(shù)。44個函數(shù)共分為4類,包括:16個數(shù)值表示函數(shù)、8個冪對數(shù)函數(shù)、16個三角對數(shù)函數(shù)和4個高等特殊函數(shù).24math庫概述math庫是Python提供的內(nèi)置數(shù)學(xué)類函數(shù)庫math庫概述首先使用保留字import引用該庫第一種:import math 對math庫中函數(shù)采用math.()形式使用 第二種,from math import 對math庫中函數(shù)可以直接采用()形式使用import mathmath.ceil(10.2)11from math import floorfloor(10.2)10.25math庫概述首先使用保留字impor

11、t引用該庫impmath庫解析math庫包括4個數(shù)學(xué)常數(shù)常數(shù)數(shù)學(xué)表示描述math.pi圓周率,值為3.141592653589793math.ee自然對數(shù),值為2.718281828459045math.inf正無窮大,負無窮大為-math.infmath.nan非浮點數(shù)標記,NaN(Not a Number).26math庫解析math庫包括4個數(shù)學(xué)常數(shù)常數(shù)數(shù)學(xué)表示描述mamath庫解析math庫包括16個數(shù)值表示函數(shù)函數(shù)數(shù)學(xué)表示描述math.fabs(x)返回x的絕對值math.fmod(x, y)x % y返回x與y的模math.fsum(x,y,)x+y+浮點數(shù)精確求和math.cei

12、l(x)向上取整,返回不小于x的最小整數(shù)math.floor(x)向下取證,返回不大于x的最大整數(shù)math.factorial(x)x!返回x的階乘,如果x是小數(shù)或負數(shù),返回ValueErrormath.gcd(a, b)返回a與b的最大公約數(shù)math.frepx(x)x = m * 2e返回(m, e),當x=0,返回(0.0, 0)math.ldexp(x, i)x * 2i返回x * 2i運算值,math.frepx(x)函數(shù)的反運算math.modf(x)返回x的小數(shù)和整數(shù)部分math.trunc(x)返回x的整數(shù)部分math.copysign(x, y)用數(shù)值y的正負號替換數(shù)值x的正

13、負號math.isclose(a,b)比較a和b的相似性,返回True或Falsemath.isfinite(x)當x為無窮大,返回True;否則,返回False math.isinf(x)當x為正數(shù)或負數(shù)無窮大,返回True;否則,返回Falsemath.isnan(x)當x是NaN,返回True;否則,返回False.27math庫解析math庫包括16個數(shù)值表示函數(shù)函數(shù)數(shù)學(xué)表示描math庫解析math庫中包括8個冪對數(shù)函數(shù)函數(shù)數(shù)學(xué)表示描述math.pow(x,y)xy返回x的y次冪math.exp(x)ex返回e的x次冪,e是自然對數(shù) math.expml(x)ex-1返回e的x次冪減1

14、math.sqrt(x)返回x的平方根math.log(x,base)math.log1p(x)返回1+x的自然對數(shù)值math.log2(x)返回x的2對數(shù)值math.log10(x)返回x的10對數(shù)值.28math庫解析math庫中包括8個冪對數(shù)函數(shù)函數(shù)數(shù)學(xué)表示描述math庫解析math庫包括六個“三角雙曲函數(shù)函數(shù)數(shù)學(xué)表示描述math.degree(x)角度x的弧度值轉(zhuǎn)角度值math.radians(x)角度x的角度值轉(zhuǎn)弧度值math.hypot(x,y)返回(x,y)坐標到原點(0,0)的距離math.sin(x)sin x返回x的正弦函數(shù)值,x是弧度值math.cos(x)cos x返回

15、x的余弦函數(shù)值,x是弧度值math.tan(x)tan x返回x的正切函數(shù)值,x是弧度值math.asin(x)arcsin x返回x的反正弦函數(shù)值,x是弧度值math.acos(x)arccos x返回x的反余弦函數(shù)值,x是弧度值 math.atan(x)arctan x返回x的反正切函數(shù)值,x是弧度值math.atan2(y,x)arctan y/x返回y/x的反正切函數(shù)值,x是弧度值math.sinh(x)sinh x返回x的雙曲正弦函數(shù)值math.cosh(x)cosh x返回x的雙曲余弦函數(shù)值math.tanh(x)tanh x返回x的雙曲正切函數(shù)值math.asinh(x)arcs

16、inh x返回x的反雙曲正弦函數(shù)值math.acosh(x)arccosh x返回x的反雙曲余弦函數(shù)值math.atanh(x)arctanh x返回x的反雙曲正切函數(shù)值.29math庫解析math庫包括六個“三角雙曲函數(shù)函數(shù)數(shù)學(xué)表示描math庫解析math庫包括4個高等特殊函數(shù)函數(shù)數(shù)學(xué)表示描述math.erf(x)高斯誤差函數(shù),應(yīng)用于概率論、統(tǒng)計學(xué)等領(lǐng)域math.erfc(x)余補高斯誤差函數(shù),math.erfc(x)=1 - math.erf(x)math.gamma(x)伽瑪(Gamma)函數(shù),也叫歐拉第二積分函數(shù)math.lgamma(x)ln(gamma(x)伽瑪函數(shù)的自然對數(shù).30

17、math庫解析math庫包括4個高等特殊函數(shù)函數(shù)數(shù)學(xué)表示描述實例3: 天天向上的力量.31實例3: 天天向上的力量.33實例代碼3.1: 天天向上一年365天,以第1天的能力值為基數(shù),記為1.0,當好好學(xué)習(xí)時能力值相比前一天提高1,當沒有學(xué)習(xí)時由于遺忘等原因能力值相比前一天下降1。每天努力和每天放任,一年下來的能力值相差多少呢?.32實例代碼3.1: 天天向上一年365天,以第1天的能力值為基實例代碼3.1: 天天向上運行結(jié)果如下,每天努力1,一年下來將提高44%,好像不多?請繼續(xù)分析。實例代碼3.1e3.1DayDayUp365.py12345#e3.1DayDayUp365.pyimpor

18、t mathdayup = math.pow(1.0 + 0.001), 365) # 提高0.001daydown = math.pow(1.0 - 0.001), 365) # 放任0.001print(向上: :.2f, 向下: :.2f.format(dayup, daydown).33實例代碼3.1: 天天向上運行結(jié)果如下,每天努力1,一年下實例代碼3.2: 天天向上一年365天,如果好好學(xué)習(xí)時能力值相比前一天提高5,當放任時相比前一天下降5。效果相差多少呢?.34實例代碼3.2: 天天向上一年365天,如果好好學(xué)習(xí)時能力值實例代碼3.2: 天天向上運行結(jié)果如下,每天努力5,一年下來

19、將提高6倍!這個,不容小覷了吧?實例代碼3.2e3.2DayDayUp365.py12345#e3.2DayDayUp365.pyimport mathdayup = math.pow(1.0 + 0.005), 365) # 提高0.005daydown = math.pow(1.0 - 0.005), 365) # 放任0.005print(向上: :.2f, 向下: :.2f.format(dayup, daydown).35實例代碼3.2: 天天向上運行結(jié)果如下,每天努力5,一年下實例代碼3.3: 天天向上一年365天,如果好好學(xué)習(xí)時能力值相比前一天提高1%,當放任時相比前一天下降1%

20、。效果相差多少呢?.36實例代碼3.3: 天天向上一年365天,如果好好學(xué)習(xí)時能力值實例代碼3.3: 天天向上運行結(jié)果如下,每天努力1%,一年下來將提高37倍。這個相當驚人吧!實例代碼3.3e3.3DayDayUp365.py123456#e3.3DayDayUp365.pyimport mathdayfactor = 0.01dayup = math.pow(1.0 + dayfactor), 365) # 提高dayfactordaydown = math.pow(1.0 - dayfactor), 365) # 放任dayfactorprint(向上: :.2f, 向下: :.2f.fo

21、rmat(dayup, daydown).37實例代碼3.3: 天天向上運行結(jié)果如下,每天努力1%,一年下實例代碼3.4: 天天向上一年365天,一周5個工作日,如果每個工作日都很努力,可以提高1%,僅在周末放任一下,能力值每天下降1%,效果如何呢? .38實例代碼3.4: 天天向上一年365天,一周5個工作日,如果實例代碼3.4: 天天向上猜猜運行結(jié)果?每周努力5天,而不是每天,一年下來,水平僅是初始的4.63倍!與每天堅持所提高的37倍相去甚遠實例代碼3.4e3.4DayDayUp365.py12345678#e3.4DayDayUp365.pydayup, dayfactor = 1.0

22、, 0.01for i in range(365):if i % 7 in 6, 0:#周六周日dayup = dayup * (1 - dayfactor)else:dayup = dayup * (1 + dayfactor)print(向上5天向下2天的力量: :.2f.format(dayup).39實例代碼3.4: 天天向上猜猜運行結(jié)果?每周努力5天,而不是實例代碼3.5: 天天向上如果對實例代碼3.4的結(jié)果感到意外,那自然會產(chǎn)生如下問題:每周工作5天,休息2天,休息日水平下降0.01,工作日要努力到什么程度一年后的水平才與每天努力1%所取得的效果一樣呢?.40實例代碼3.5: 天天

23、向上如果對實例代碼3.4的結(jié)果感到意外實例代碼3.5: 天天向上如果每周連續(xù)努力5天,休息2天,為了達到每天努力1%所達到的的水平,則就需要在工作日將提高的程度達到約2%,即要努力1倍才僅是為了休息2天。這就是天天向上的力量! 實例代碼3.5e3.5DayDayUp365.py12345678910111213#e3.5DayDayUp365.pydef dayUP(df):dayup = 0.01for i in range(365):if i % 7 in 6, 0:dayup = dayup * (1 -0.01 df)else:dayup = dayup * (1 + df)retur

24、n dayupdayfacotr = 0.01while (dayUP(dayfactor)37.78): dayfactor += 0.001print(每天的努力參數(shù)是: :.3f.format(dayfactor).41實例代碼3.5: 天天向上如果每周連續(xù)努力5天,休息2天,為字符串類型及其操作.42字符串類型及其操作.44字符串類型字符串是用雙引號或者單引號括起來的一個或多個字符。字符串可以保存在變量中,也可以單獨存在。可以用type()函數(shù)測試一個字符串的類型.43字符串類型字符串是用雙引號或者單引號括起來的一個或多字符串類型 Python語言轉(zhuǎn)義符: 輸出帶有引號的字符串,可以使

25、用轉(zhuǎn)義符使用 輸出帶有轉(zhuǎn)移符的字符串.44字符串類型 Python語言轉(zhuǎn)義符: .46字符串類型字符串是一個字符序列:字符串最左端位置標記為0,依次增加。字符串中的編號叫做“索引”.45字符串類型字符串是一個字符序列:字符串最左端位置標記為0,依字符串類型單個索引輔助訪問字符串中的特定位置 格式為.46字符串類型單個索引輔助訪問字符串中的特定位置.48字符串類型Python中字符串索引從0開始,一個長度為L的字符串最后一個字符的位置是L-1Python同時允許使用負數(shù)從字符串右邊末尾向左邊進行反向索引,最右側(cè)索引值是-1.47字符串類型Python中字符串索引從0開始,一個長度為L的字字符串類

26、型可以通過兩個索引值確定一個位置范圍,返回這個范圍的子串 格式: :start和end都是整數(shù)型數(shù)值,這個子序列從索引start開始直到索引end結(jié)束,但不包括end位置。.48字符串類型可以通過兩個索引值確定一個位置范圍,返回這個范圍的字符串類型字符串之間可以通過+或*進行連接加法操作(+)將兩個字符串連接成為一個新的字符串乘法操作(*)生成一個由其本身字符串重復(fù)連接而成的字符串.49字符串類型字符串之間可以通過+或*進行連接.51字符串類型len()函數(shù)能否返回一個字符串的長度.50字符串類型len()函數(shù)能否返回一個字符串的長度.52字符串類型的轉(zhuǎn)換大多數(shù)數(shù)據(jù)類型都可以通過str()函數(shù)

27、轉(zhuǎn)換為字符串.51字符串類型的轉(zhuǎn)換大多數(shù)數(shù)據(jù)類型都可以通過str()函數(shù)轉(zhuǎn)換為字符串使用實例輸入一個月份數(shù)字,返回對應(yīng)月份名稱縮寫 這個問題的IPO模式是: 輸入:輸入一個表示月份的數(shù)字(1-12) 處理:利用字符串基本操作實現(xiàn)該功能 輸出:輸入數(shù)字對應(yīng)月份名稱的縮寫.52字符串使用實例輸入一個月份數(shù)字,返回對應(yīng)月份名稱縮寫.54字符串使用實例將所有月份名稱縮寫存儲在字符串中在字符串中截取適當?shù)淖哟畞聿檎姨囟ㄔ路?找出在哪里切割子串 每個月份的縮寫都由3個字母組成,如果pos表示一個月份的第一個字母,則monthspos:pos+3表 示這個月份的縮寫,即: monthAbbrev = mon

28、thspos:pos+3.53字符串使用實例將所有月份名稱縮寫存儲在字符串中.55字符串使用實例 月份 字符串中位置Jan 1 0Feb 2 3Mar 3 6Apr 4 9.54字符串使用實例 月份 字字符串使用實例.55字符串使用實例.57可以通過 for 和 in 組成的循環(huán)來遍歷字符串中每個字符格式如下: for in : 操作字符串的操作.56可以通過 for 和 in 組成的循環(huán)來遍歷字符串中每個字符用轉(zhuǎn)義符可以在字符串中表達一些不可直接打印的信息例如:用n表示換行 字符串HellonWorldnnGoodbye 32n 用print()函數(shù)打印后的輸出效果如下:HelloWorld

29、Goodbye 32字符串的操作.57用轉(zhuǎn)義符可以在字符串中表達一些不可直接打印的信息字符串的操作內(nèi)置的字符串處理函數(shù) 操作含義+連接*重復(fù) 索引 : 剪切l(wèi)en()長度.upper()字符串中字母大寫.lower()字符串中字母小寫.strip()去兩邊空格及去指定字符.split()按指定字符分割字符串為數(shù)組.join()連接兩個字符串序列.find()搜索指定字符串.replace()字符串替換for in 字符串迭代.58內(nèi)置的字符串處理函數(shù) 操作含義+連接*重復(fù)內(nèi)置的字符串處理方法方法描述str.lower()返回字符串str的副本,全部字符小寫str.upper()返回字符串str

30、的副本,全部字符大寫str.islower() 當str所有字符都是小寫時,返回True,否則Falsestr.isprintable()當str所有字符都是可打印的,返回True,否則Falsestr. isnumeric()當str所有字符都是字符時,返回True,否則Falsestr.isspace() 當str所有字符都是空格,返回True,否則Falsestr.endswith(suffix,start,end)strstart: end 以suffix結(jié)尾返回True,否則返回Falsestr.startswith(prefix, start, end) strstart: end

31、 以suffix開始返回True,否則返回Falsestr.split(sep=None, maxsplit=-1)返回一個列表,由str根據(jù)sep被分割的部分構(gòu)成str.count(sub,start,end)返回strstart: end中sub子串出現(xiàn)的次數(shù)str.replace(old, new, count)返回字符串str的副本,所有old子串被替換為new,如果count給出,則前count次old出現(xiàn)被替換str.center(width, fillchar)字符串居中函數(shù),詳見函數(shù)定義str.strip(chars) 返回字符串str的副本,在其左側(cè)和右側(cè)去掉chars中列出

32、的字符str.zfill(width) 返回字符串str的副本,長度為width,不足部分在左側(cè)添0 str.format()返回字符串str的一種排版格式,3.6節(jié)將詳細介紹str.join(iterable)返回一個新字符串,由組合數(shù)據(jù)類型(見第6章)iterable變量的每個元素組成,元素間用str分割.59內(nèi)置的字符串處理方法方法描述str.lower()返回字符串內(nèi)置的字符串處理函數(shù)微實例3.2:愷撒密碼。凱撒密碼是古羅馬凱撒大帝用來對軍事情報進行加密的算法,它采用了替換方法對信息中的每一個英文字符循環(huán)替換為字母表序列該字符后面第三個字符,對應(yīng)關(guān)系如下:原文:A B C D E F

33、G H I J K L M N O P Q R S T U V W X Y Z密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C原文字符P,其密文字符C滿足如下條件:C = ( P + 3 ) mod 26解密方法反之,滿足:P = ( C 3 ) mod 26.60內(nèi)置的字符串處理函數(shù)微實例3.2:愷撒密碼。原文:A B C內(nèi)置的字符串處理函數(shù)微實例3.2m3.2 CaesarCode.py1234567plaincode = input(請輸入明文: )for p in plaincode: if ord(a) = ord(p) 請

34、輸入明文: python is an excellent language.sbwkrq lv dq hafhoohqw odqjxdjh.微實例運行結(jié)果如下:.61內(nèi)置的字符串處理函數(shù)微實例3.2m3.2 CaesarCod字符串類型的格式化.62字符串類型的格式化.64 format()方法的基本使用字符串format()方法的基本使用格式是:.format().63 format()方法的基本使用字符串format()方法的 format()方法的基本使用.64 format()方法的基本使用.66 format()方法的格式控制format()方法中模板字符串的槽除了包括參數(shù)序號,還可

35、以包括格式控制信息。此時,槽的內(nèi)部樣式如下:: 其中,格式控制標記用來控制參數(shù)顯示時的格式 。格式控制標記包括:,6個字段,這些字段都是可選的,可以組合使用,這里按照使用方式逐一介紹。.65 format()方法的格式控制format()方法中模板字文本進度條.66文本進度條.68簡單的開始利用print()函數(shù)實現(xiàn)簡單的非刷新文本進度條基本思想是按照任務(wù)執(zhí)行百分比將整個任務(wù)劃分為100個單位,每執(zhí)行N%輸出一次進度條。每一行輸出包含進度百分比,代表已完成的部分(*)和未完成的部分(.)的兩種字符,以及一個跟隨完成度前進的小箭頭,風(fēng)格如下:%10 *-.67簡單的開始利用print()函數(shù)實現(xiàn)

36、簡單的非刷新文本進度條%簡單的開始實例代碼4.1e4.1TextProgressBar.py12345678910#e4.1TextProgressBar.pyimport timescale = 10print(-執(zhí)行開始-)for i in range(scale+1): a, b = * * i,. * (scale - i) c = (i/scale)*100 print(“r:3.0f%-” .format (c, a, b) time.sleep(0.1)print(-執(zhí)行結(jié)束-).68簡單的開始實例代碼4.1e4.1TextProgressBa簡單的開始-執(zhí)行開始-% 0 -.%

37、10 *-.%20 *-.%30 *-.%40 *-.%50 *-.%60 *-.%70 *-.%80 *-.%90 *-.%100*-執(zhí)行結(jié)束-程序的輸出效果如下圖: .69簡單的開始-執(zhí)行開始-程序的輸出效果如下單行動態(tài)刷新實例代碼4.2e4.2TextProgressBar.py12345#e4.2TextProgressBar.pyimport timefor i in range(101): print(r:2%.format(i), end=) time.sleep(0.05).70單行動態(tài)刷新實例代碼4.2e4.2TextProgressB單行動態(tài)刷新 0% 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% 22% 23% 24% 25% 26% 27% 28% 29% 30% 31% 32% 33% 34% 35% 36% 37% 38% 39% 40% 41% 42% 43% 44% 45% 46% 47% 48% 49% 50% 51% 52% 53% 54% 55% 56%

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論