計算機(jī)Python教學(xué)課件第6講循環(huán)字符串_第1頁
計算機(jī)Python教學(xué)課件第6講循環(huán)字符串_第2頁
計算機(jī)Python教學(xué)課件第6講循環(huán)字符串_第3頁
計算機(jī)Python教學(xué)課件第6講循環(huán)字符串_第4頁
計算機(jī)Python教學(xué)課件第6講循環(huán)字符串_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機(jī)科學(xué)導(dǎo)論P(yáng)ython程序設(shè)計第6講 循環(huán)-字符串商務(wù)信息學(xué)院 信息管理系教師:柳青電子信箱:L辦公室:博識樓418電話: 67703852答疑時間:周三34節(jié),8-15周周四5-8節(jié),1-16周周五1-4節(jié),16、810、14、16、17周夜間自習(xí)輔導(dǎo)時間:周四1112節(jié),110周教師信息2兩個問題While語句的結(jié)構(gòu)輸入數(shù)據(jù)input和raw_inputwhile語句表達(dá)式循環(huán)體真(非零)假(零)格式1:while 表達(dá)式:循環(huán)體表達(dá)式循環(huán)體真(非零)假(零)Else語句問題:else可不可以去掉?為什么?格式2:while 表達(dá)式:循環(huán)體else:語句第一種情況第二種情況Python

2、中提供了input()函數(shù)用于輸入數(shù)據(jù),該函數(shù)通常的使用方式如下:=input()執(zhí)行時首先在屏幕上顯示提示字符串,然后等待用戶輸入將用戶輸入作為一個表達(dá)式進(jìn)行解釋、求值,將求值結(jié)果賦予變量。回顧數(shù)據(jù)輸入7輸入函數(shù)raw_input(),用于字符串?dāng)?shù)據(jù)輸入時更方便。格式: = raw_input() 執(zhí)行時首先在屏幕上顯示提示字符串,然后等待用戶輸入(以回車鍵表示輸入完畢),用戶鍵入的所有內(nèi)容視為一個普通的字符串而不是表達(dá)式,該字符串就是raw_input的返回值,可以賦值給其他變量。例如:回顧輸入函數(shù)raw_input()8在通常情況下,如果需要輸入數(shù)值或數(shù)值表達(dá)式,最好用input;如果需

3、要輸入字符串,最好使用raw_input?;仡?input與raw_input的比較9再議input和raw_input用raw_input輸入數(shù)值:先作為字符串輸入,再通過類型轉(zhuǎn)換函數(shù)如int()、long()、float()、eval()函數(shù)將字符串轉(zhuǎn)換為數(shù)值回顧練習(xí)1.給定一個由10個整數(shù)值構(gòu)成的列表,編程刪除列表中所有下標(biāo)為奇數(shù)的元素。保存為exam1.py第1種方法:第2種方法:回顧練習(xí)2.給定一個由10個整數(shù)值構(gòu)成的列表,編程刪除列表中所有值為奇數(shù)的元素。保存為exam2.py回顧練習(xí)3.給定一個由10個整數(shù)值構(gòu)成的列表,編程只對列表中下標(biāo)為偶數(shù)的元素進(jìn)行升序排列。保存為exam3

4、.py回顧練習(xí)4.輸出“水仙花數(shù)”。所謂水仙花數(shù)是指一個3位的十進(jìn)制數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如:153是水仙花數(shù),因為153=13+53+33 。保存為exam4.py用while循環(huán)實現(xiàn)用for循環(huán)實現(xiàn)另外一種算法實現(xiàn)水仙花數(shù),保存為exam4_2.py字符串1.字符串問題2.字符串基礎(chǔ)知識3. 字符串函數(shù)4.字符串知識的應(yīng)用問題列表Li中有一些單詞,把這些單詞分別進(jìn)行升序排序和降序排序。Li=apple, peach, wps, word, access, excel, open, seek分析:應(yīng)用列表的排序函數(shù)sort( )能完成升序排序和降序排序。程序保存為Ques5_

5、1.py程序及運(yùn)行結(jié)果運(yùn)行結(jié)果思考題:如果換成Li2=Li結(jié)果有什么影響?1 字符串格式化說明:(1) 中的內(nèi)容可以省略;(2)簡單的格式是%加格式字符,如%f、%d、%c等;(3)當(dāng)最小寬度及精度都出現(xiàn)時,它們之間不能有空格,格式字符和其他選項之間也不能有空格。如%8.2f兩個單引號是字符串標(biāo)記,也可以用雙引號對表1 格式字符的含義格式說明%c格式化字符或編碼%s格式化字符串%d格式化整數(shù)%u格式化無符號整數(shù)%o格式化八進(jìn)制數(shù)%x格式化十六進(jìn)制數(shù)%f格式化浮點數(shù),可指定小數(shù)位數(shù)%e用科學(xué)計數(shù)法格式化浮點數(shù)最小寬度和精度最小寬度是轉(zhuǎn)換后的值所保留的最小字符個數(shù)精度(對于數(shù)字來說)則是結(jié)果中應(yīng)該

6、包含的小數(shù)位數(shù)%f格式化浮點數(shù),可指定小數(shù)位數(shù)%s格式化字符串%d格式化整數(shù)必須是一個元組進(jìn)位制和科學(xué)計數(shù)法把一個數(shù)轉(zhuǎn)換成不同的進(jìn)位制,也可按科學(xué)計數(shù)法進(jìn)行轉(zhuǎn)換;格式化字符的使用例1 利用格式化字符輸出“九九乘法表”,程序保存為eg1_table.py,并與循環(huán)中的“九九乘法表”的輸出作比較。比較2 字符串的截取1字符串中字符的位置2字符串的截取截取有兩種方法:索引 sindex取出一個字符;切片sstart : end取出一片字符3 字符串的方法1. 子串查找find( )格式:s.find(sub,start,end)功能:在主串中查找子串,找到則返回主串中的位置,找不到則返回-1。不包含

7、end2字符串的分離split( )如果字符串中的某種字符出現(xiàn)0次或多次,可以根據(jù)該字符把字符串分離成多個子串組成的列表3字符串聯(lián)接join( )Join( )方法是split( )方法的逆方法,用來把列表中的各字符串聯(lián)起來。4轉(zhuǎn)換為小寫字母lower( )Lower( )方法返回一個新串,該串把原串中的大寫字母全部轉(zhuǎn)換成小寫字母,其他字符不變。這種方法對“不區(qū)分大小寫”的程序非常有用。思考題:1、當(dāng)前S字符中的值是什么?2、如何將字符串中的字母轉(zhuǎn)換為大寫字母?5查找替換replace( )replace( )方法返回原字符串中所有匹配項都被替換之后得到的新字符串,原字符串保持不變。沒有匹配項

8、6刪除兩端空格strip( )strip( )方法返回字符串的副本,該副本刪除了原字符串兩端的空格。原字符串保持不變。思考:如何去除字符串中間空格?5.2.4 與字符串相關(guān)的重要內(nèi)置方法ASCII碼Ord( ) 求字符編碼Chr( )返回指定編碼的字符的方法Int( x,d) Int()函數(shù)返回數(shù)字x的整數(shù)部分,或把d進(jìn)位的字符串轉(zhuǎn)換成十進(jìn)制數(shù)1. 把對象轉(zhuǎn)換成字符串str ( )str ( )方法能把任何對象轉(zhuǎn)換為字符串2. 把字符串轉(zhuǎn)換成浮點數(shù)float ( )float ( )方法能把字符串轉(zhuǎn)換成浮點數(shù),被轉(zhuǎn)換的字符串不能包括非數(shù)字字符產(chǎn)生隨機(jī)數(shù)產(chǎn)生隨機(jī)數(shù)需要導(dǎo)入random模塊,其中r

9、andom.randint(a, b),用于生成一個指定范圍內(nèi)的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機(jī)數(shù)n: a = n = b;random.randrange(start, stop, step),從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個隨機(jī)數(shù)。3 字符串基礎(chǔ)知識的應(yīng)用示例2 隨機(jī)產(chǎn)生15個不重復(fù)的取自AZ的大寫字母,并將其存放在序列中。程序保存為eg2_chr.py3 字符串基礎(chǔ)知識的應(yīng)用例3 查找用戶名,在列表中查找一個用戶名“admin”是否存在。要求用戶如果輸入“Admin”或者“ADMIN”都能找到(即不區(qū)分大小寫)。程序保存為eg3_query.py3 字符串基礎(chǔ)

10、知識的應(yīng)用例4 用戶輸入幾個數(shù)字,用逗號分隔,編程求這些數(shù)字的和,程序保存為eg4_sum.py分析:用戶輸入的數(shù)字個數(shù)雖然是動態(tài)的,但是可以當(dāng)作一個字符串來處理。首先分離出數(shù)字串,然后再轉(zhuǎn)換成數(shù)字,這樣就能求和。輸入及程序運(yùn)行結(jié)果示例5 討論算法: 求最小值以及下標(biāo)(方法一)給定列表50,40,20,30,10,求最小值以及下標(biāo)方法一:直接用內(nèi)建函數(shù)min(),然后根據(jù)這個最小值找下標(biāo),程序保存為“eg5_min1.py”。執(zhí)行結(jié)果:改進(jìn)提高算法的效率示例5 討論算法:求最小值以及下標(biāo)(方法二)方法二:不用內(nèi)建函數(shù)min()程序保存為“eg5_min2.py”示例6-選擇排序法給定列表50,

11、40,20,30,10 ,不用sort方法排序,不用min方法求最小值,利用選擇排序法按列表中的值由小到大進(jìn)行升序排序保存為eg6_sort.py【思想】先從全體n個數(shù)據(jù)中找出最小值,并將該最小值排在第一個位置如何排在第1個位置:將最小值與本輪序號第1的數(shù)進(jìn)行交換。然后從剩下的n-1個數(shù)據(jù)中再次找出最小值,這個最小值其實是全體數(shù)據(jù)的次小值,將它排在第二個位置以此類推,直至從剩下的兩個數(shù)據(jù)中找出最小值,排在第n-1個位置,而剩下的最后一個數(shù)據(jù)(全體數(shù)據(jù)中的最大值)可以直接排在第n個位置。運(yùn)行結(jié)果示例6-程序eg6_sort.py將本輪循環(huán)最小數(shù)與本輪序號對應(yīng)的數(shù)進(jìn)行交換找到本輪循環(huán)最小數(shù),將值存于mm,并將該數(shù)序號記錄于k中練習(xí)輸

溫馨提示

  • 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

提交評論