《Python編程案例》教案 第9次課 數(shù)據(jù)容器(一)- 判斷回文串_第1頁
《Python編程案例》教案 第9次課 數(shù)據(jù)容器(一)- 判斷回文串_第2頁
《Python編程案例》教案 第9次課 數(shù)據(jù)容器(一)- 判斷回文串_第3頁
《Python編程案例》教案 第9次課 數(shù)據(jù)容器(一)- 判斷回文串_第4頁
《Python編程案例》教案 第9次課 數(shù)據(jù)容器(一)- 判斷回文串_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

?Python編程基礎(chǔ)知識》

教案

課時分配表

章序課程內(nèi)容課時備注

1文檔處理12

2電子表格處理8

3演示文稿制作4

4信息檢索6

5新T弋信息技術(shù)概述10

6信息素養(yǎng)與社會責任8

48

課題數(shù)據(jù)容器(一)——判T回文串

課時2課時(90min)

知識技能目標:

(1)掌握序列的基本操作。

(2)掌握字符串格式化方法和常用操作。

教學目標

思政育人目標:

(1)提高選擇合適方法解決不同問題的能力。

(2)將中華傳統(tǒng)文化融入編程案例中,增強感受詩詞之美、詩詞之趣的能力。

教學重點:Python中序列的基本操作,Python中字符串格式化方法和常用操作。

教學重難點

教學難點:Python中序列和字符串知識點的應(yīng)用。

教學方法案例分析法、問答法、討論法、講授法、實訓法

教學用具電腦、投影儀、多媒體課件、教材

課前任務(wù)一考勤(2min)預(yù)熱(10min)一問題導入(5min)—>傳授新^口(30min)

教學設(shè)計

任務(wù)實施(15min)—*實薇溝(15min)一課堂小結(jié)(3min)一作業(yè)布置(2min)

教學過程主要教學內(nèi)容及步驟設(shè)計意圖

■【教師】布置課前任務(wù),提醒同學通過APP或其他學習軟件,

完成課前任務(wù)通過課前任務(wù),

請大家自行搜集資料理解什么是回文串,并且預(yù)習本任務(wù)需要使學生了解本次

課前任務(wù)

的相關(guān)知識點。課的重要性,增加

學生的學習興趣

■【學生】完成課前任務(wù)

■【教師】清點上課人數(shù),記錄好考勤培養(yǎng)學生的組

考勤

織紀律性,掌握學

(2min)

■【學生】班干部交假條生的出勤情況

■教【師】與學生簡單互動,復習回顧上次課的內(nèi)容等

■學【生】聆聽、互動

通過老師與學

新課預(yù)熱生的互動,并讓學

■【教師】概括項目總體需要學習內(nèi)容

(10min)生了解這次課的

在實際開發(fā)過程中,會遇到各式各樣的數(shù)據(jù),這些數(shù)據(jù)又有著知識點大致要求

各自的特點。例如,數(shù)據(jù)量大且相互之間存在一定內(nèi)在關(guān)系的可變

數(shù)據(jù),具有映射關(guān)系的數(shù)據(jù),不可重復的數(shù)據(jù)等。Python提供了形

形色色的數(shù)據(jù)容器用于處理這些數(shù)據(jù),包括字符串、列表、字典、

我們都學過了C語言,請大家思考一下,C語言如何判斷回文通過問題導入

問題導入串?的方法,引導學生

(5min)主動思考,激發(fā)學

■【學生】思考、舉手回答

生的學習興趣

■【教師】通過學生的回答引入要講的知識

一、通用序列

■【教師】講解Python中的通用序列

序列是程序設(shè)計中經(jīng)常用到的數(shù)據(jù)結(jié)構(gòu),它是一塊用來存放多

個值的連續(xù)內(nèi)存空間。Python中常用的序列有字符串、列表、元組

等,所有序列都可以進行某些特定的操作,包括索引、分片、相加、

相乘、計算序列長度、獲取最大值和最小值、查找和計數(shù)等。

1、索引

序列中的所有元素都可以通過索引(下標)來獲取,從左往右,

第一個元素的索引為0,第二個為1,依此類推到最后T立。索引還

可以取負值,從右往左,最后一個元素的索引為-1,倒數(shù)第二個為-2,

依此類推到左側(cè)第T立。

通過教師的講

■【教師】強調(diào)以下問題

解和演示,使學生

傳授新知

字符串是一個由字符組成的序列,為了便于理解,本任務(wù)內(nèi)容了解Python中的

(30min)

都以字符串為例進行說明。序列和字符串的

使用

■【學生】聆聽、記錄、理解

例如,創(chuàng)建字符串Hstrl=,Python"‘,其索引如表4-1所示。

表4-1字符串strl的索引

字符python

正索引012345

負索引-6-5-4-3-2-1

由表4-1可知,和1⑼和sir1[-6]的值都是字符"P".還可使用

序列字面值直接使用索引,如‘Python'⑼的值也是字符"P"。

■【學生】聆聽、記錄、理解

(I)字符串是Python的(有序或無序)序列。

■【學生】完成題目

■【教師】隨機點名回答

2、分片

分片與索引類似,都可以獲取序列中的元素,區(qū)別是索引只能

獲取單個元素,而分片可以獲取一定范圍內(nèi)的元素。

分片通過冒號隔開的兩個索引來實現(xiàn),其語法格式如下。

slice[start:end:step]

其中,slice表示序列;start表示起始索引,缺省時分片從序列

中的第一個元素開始;end表示結(jié)束索引(不含),缺省時分片到序

列的最后一個元素結(jié)束;step表示步長,缺省時為1,不能為0。

例如,創(chuàng)建字符串"str2='abcdefg'",使用分片獲取字符

串中元素的幾種情況如表4-2所示。

表4-2分片獲取字符串str2中元素

分片方式說明結(jié)果

str2[l:J獲取si「2中從索引1開始到病后的所有元素'bcdcfg'

獲取即2中從索引0到索引3(不含)的所

str2(:3|'abc'

有元素

獲取str2中從索引1到索引3(不含)的所

str2[l:3]be'

有元素

獲取s(r2中從索引0開始到最后(不含)的

str2[:-l]*abcdef

所有元素

獲取sti-2中從索引-3開始到最后(不含)的

str2(-3:-l],cf

所有元素

Slr2[-3:]獲取str2中最后三個元素'efg'

str2(:|獲取str2中所有元素'abedefg'

str2[:⑵獲取st>-2中步長為2時的所有元素aceg,

獲取str2中步長為2時從索引2到索引6(不

str2(2:6:2J

含)的所有元素

Python中步長不能設(shè)置為0,但可以是負數(shù)。當步長為負數(shù)時,

起始索引必須大于結(jié)束索引,即分片從右往左提取元素。例如:

str3=str2[7:0:-l]#str3為'gfedcb'

str3=str2[-l:-8:-l]#str3為'gfedcba'

str3=str2[::-l]#str3為'gfedcba'

■【學生】聆聽、記錄、理解

■【教師】布置題目

(1)切片操作listC'Python")執(zhí)行結(jié)果為一

(2)以下關(guān)于字符串的描述,正確的是(

A.字符可以看作是長度為1或2的字符串

B.字符串中的字符可以進行數(shù)字運算

C.在三引號字符串中可以包含換行、回車等轉(zhuǎn)義字符

D.字符串可以進行切片賦值

■【學生】完成題目

■【教師】隨機點名回答

3、相加

使用加法運算符可對序列進行連接操作,例如:

str4='Hello;+'World'#字符串連接,str4為Hello,World'

listI=[1,2,3]+[4,5,6]#列表連接,list1為[1,2,3,4,5,6]

■教【師】強調(diào)以下問題

只有類型相同的序列才能進行連接操作。例如,字符串和列表

是無法連接在一起的。

■學【生】聆聽、記錄、理解

■教【師】布置題目

(1)以下程序的輸出結(jié)果是()0

s="Python°

t="ismylove"

print(s+1)

A.PythonismyloveB.Pythonismylove

C.PythonismyloveD.Pythonismylove

(2)執(zhí)行以下程序時,若輸入"Python",執(zhí)行結(jié)果是()o

s=input(”請輸入一個字符串:")

ifs=="°:

prints)

else:

print(sf1:1+s[01)

5

A.PythonB.ythonPC.thonPyD.nohtyP

■學【生】完成題目

■教【師】隨機點名回答

4、相乘

使用數(shù)字n乘以一個序列會生成新的序列,在新的序列中,原

來的序列將重復n次。例如:

str5='hello'*3#str5為'hdlohMoheHo'

■學【生】聆聽、記錄、理解

5、長度、最小值和最大值

序列常用的內(nèi)置函數(shù)有l(wèi)en()、min()和maxQ,其參數(shù)都為序列

名。其中,】en()函數(shù)返回序列中元素的個數(shù)(即序列長度),min()

函數(shù)和max()函數(shù)則分別返回序列中最〃麗最大的元素。

■教【師】演示例4-1程序

strs=input「請輸入一個字符串:,)#輸入字符串并賦

給strs

str_len=len(strs)#獲取strs長度并

賦給str_len

str_max=max(strs)#獲取strs中最大

字符并賦給s(r_max

str_min=ir.in(strs)#獲取strs中最小

字符并賦給str_min

prinl(該字符串中最大字符為:str_max)#輸出最大字符

print(該字符串中最小字符為:str_min)#輸出最小字符

print('+'+*str_len+'+')#輸出"+"、str_len

個和”+”

print('|'+strs+'|')#輸出"1"、字符

串和"1"

print('+'+'?'*str_len+'+')#輸出"+"、strjen

個和"+"

■【學生】觀察運行結(jié)果并討論

■教【師】講解程序(主要代碼)

■【學生】聆聽、記錄、理解

通過上述代碼,可以看出這3個內(nèi)置函數(shù)的用法。此外,min()

和max()函數(shù)的參數(shù)并不一定是序列,也可以是兩種或兩種以上相同

類型的數(shù)據(jù)(字典除外).例如:

a=max(1,2,3,4)#a為4

b=min('abcde','abce')#b為'abcde'

6、查找和計數(shù)

序列提哄indexO方法用于返回指定元素在序列中首次出現(xiàn)的位

置,如果該元素不在序列中則拋出異常,其語法格式如下。

sequence,index(obj)

其中,sequence表示序列,obj表示要查找的對象。

sequence.count(obj)

其中,sequence表示序列,obj表示要統(tǒng)計的對象。

■【教師】強調(diào)以下問題

使用index。方法前應(yīng)通過成員運算符"in"或"noiin"判斷該

■【教師】演示例4-2程序

#創(chuàng)建字符串excerpts并賦值

excerpts="次日,于桃園中,備下烏牛白馬祭禮等項,三人焚

香再拜而說誓日:

“念劉備、關(guān)羽、張飛,雖然異姓,既結(jié)為兄弟,則

同心協(xié)力,救困扶危;

上報國家,下安黎庶。不求同年同月同日生,只愿同

年同月同日死。

皇天后土,實鑒此心,背義忘恩,天人共戮「誓畢,

拜玄德為兄,

關(guān)羽次之,張飛為弟。祭罷天地,復宰牛設(shè)酒,聚鄉(xiāng)

中勇士,

得三百余人,就桃園中痛飲一醉。來日收拾軍器,但

恨無馬匹可乘。

正思慮間,人報有兩個客人,引一伙伴當,趕一群馬,

投莊上來。

玄德曰:"此天佑我也!"三人出莊迎接。原來二客

乃中山大商:

一名張世平,一名蘇雙,每年往北販馬,近因寇發(fā)而

回。

玄德請二人到莊,置酒管待,訴說欲討賊安民之意。

二客大喜,

愿將良馬五十匹相送;又贈金銀五百兩,鎮(zhèn)鐵一千斤,

以資器用。

name=input(請輸入人物姓名:,)#輸入人物姓

名并賦給name

ifnameinexcerpts:#如果name

在此片段中

#使用index。方法獲取name首次出現(xiàn)的位置index

index=cxccrpts.indcx(namc)

print(name.’首次出現(xiàn)的位置索引為「index)#輸出

index

#使用count。方法獲取name出現(xiàn)的次數(shù)并輸出

print(namc,'在此片段中出現(xiàn)exccrpts.count(namc),次')

else:

■教【師】講解程序(主要代碼)

■學【生】聆聽、記錄、理解

■教【師】布置題目

(1)以下程序的輸出結(jié)果是()O

str="Welcometobeijing"

print(str.find("to"))

A.2B.3C.8D.9

(2)以下程序的輸出結(jié)果是_______

string=1'AABBCCDDEEFF"

i=0

whilei<len(string):

st=string.find("BB")

ifst==-I:

break

i+=1

piiiit(string[st:])

■學【生】完成題目

■教【師】隨機點名回答

二、字符串

■【教師】語解Python中的字符串

1、字符串格式化

編程時經(jīng)常會輸出類似"你好,XXX,你這個月的工資是XXX

元!”的字符串,其中,"XXX”的內(nèi)容是根據(jù)變量的值變化的,

因此,需要一種簡便的方式格式化字符串。

1)"%""

Python提供了"%"符號進行字符串格式化,其語法格式如下。

'%[標志U0U輸出最小寬度M.精度I格式字符'%變量

其中,I]中的項為可選項,也可以表示為如下形式。

格式字符'%變量

(I)標志:標志字符為或"-",指定輸出數(shù)據(jù)的對齊方式。

指定"+”時,右對齊輸出;指定"二'時,左對齊輸出;缺省時為,

默認右對齊。

(2)輸出最小寬度:用十進制整數(shù)m表示輸出的最小位數(shù)。

若實際位數(shù)大于定義的寬度,則按實際位數(shù)輸出;若實際位數(shù)小于

定義的寬度,則補空格或0(m前有數(shù)字0,則補0).

(3)精度:精度格式符以開頭,后跟十進制整數(shù)no如

果輸出數(shù)字,則表示小數(shù)的位數(shù);如果輸出字符,則表示輸出字符

的個數(shù);若實際位數(shù)大于所定義的精度,則截去超過的部分。

(4)格式字符:用來表示輸出數(shù)據(jù)的類型,各種格式字符及其

說明如表4-3所示。

表4-3格式字符

格式字符說明格式字符說明

S字符串X十六進制整數(shù)

C單個字符f、F浮點數(shù)

%字符%e、E指數(shù)(基底為e或E)

以f或e中較短的輸出寬

d、i十進制整數(shù)g、G

度輸出浮點數(shù)

0八進制整數(shù)

■【教師】強調(diào)以下問題

初學字符串格式化內(nèi)容時,讀者不必花太多精力去探究每個細

節(jié),重點掌握最常用的一些規(guī)則即可,其他部分可在需要時隨時查

閱。

■【教師】演示例4-3程序

a=15#定義變量a并賦值

b=12345678.1234567#定義變量b并賦值

s='IlovePython!'#定義字符串s并賦值

prinl('a=%05d,%a)#使用m控制輸出位數(shù),空位補0

print('b=%8.3f%b)#使用m.n控制輸出的長度和小數(shù)點位數(shù)

print('%17s,%s)#使用m控制輸出字符串長度

print('%-17.6s,%s)#使用-m.n左對齊、控制字符串長度和字

符位數(shù)

■【學生】觀察運行結(jié)果并討論

■【教師】講解程序(主要代碼)

暹句g:?fibflftMin1?M5678.12J4S67

退句臉:打印?出VG.不泥酒M>

■【學生】聆聽、記錄、理解

2)format。方法

使用foimalO方法也可以格式化字符串,其基本語法格式如下。

模板字符串.formaK逗號分隔的參數(shù))

模板字符串由一系列槽(用大括號表示)組成,用于控制字符

的參數(shù)按照序號替換到模板字符串的槽中(序號從。開始)。例如:

#S為'你好,張三,你這個月的工資是8500元!(

s='你好"1},你這個月的工資是{0}元!'.format(8500J張三)

如果大括號中沒有序號,則按照出現(xiàn)順序替換,例如:

#s為'你好.8500,你這個月的工資是張三元!’

8-'你好,(},你這個月的工資是{}元!’.於川皿(8500J張三)

format。方法中模板字符串的槽除了包括參數(shù)序號外,還可以包

括格式控制信息,此時槽的內(nèi)部格式如下。

(參數(shù)序號:格式控制標記}

其中,格式控制標記用于控制參數(shù)顯示時的格式,它包括“填

充""對齊""寬度"".精度”"格式字守6個可選字段,

這些字段可以組合使用。具體的格式控制標記及其說明如表4-4所

表4-4格式控制標記

格式控制格式控制

說明說明

用于填充的

填充數(shù)字的千位分隔符

單個字符

<左對齊

浮點數(shù)小數(shù)部分精度或

對齊>右對齊精度

字符串最大輸出長度

八居中對齊

整數(shù)類型d、。、x、X、

b

寬度輸出寬度格式字符

浮點數(shù)類型c、E、f

百分比%

■【教師】演示例4-4程序

importlime#導入time模塊

scale=10#變量scale表示輸

出進度條的精度

printf----------執(zhí)行開始,')#輸出執(zhí)行開始提示

foriinrange(scale+I):#循環(huán)變量從0到

scale

done=*****i#用表示

已完成的部分

12

percent=i/scale■算完成百分比

#格式化輸出

printC{:>4.0%}[{}->{}]'.format(pcrccnt,done,undone))

time.sleep(0.1)#暫停

0.1秒

printC.........執(zhí)行結(jié)束-......')#輸出執(zhí)行結(jié)束提示

■學【生】觀察運行結(jié)果并討論

■教【師】講解程序(主要代碼)

■學【生】聆聽、記錄、理解

■教【師】布置題目

(1)以下程序的輸出結(jié)果是________

x,y,z=1,2,3

print('x={},y={},z={}'.fomiat(x,y,z))

■【教師】隨機點名回答

2、字符串的常用操作

Python提供了大量的方法用于字符串的查找、分割、連接、替

換、移除、轉(zhuǎn)換、檢測等操作。

1)查找字符串

除了使用index。方法在字符串中查找指定元素還可使用tind()

方法在一個較長的字符串中查找子串。如果找到子串,返回子串所

在位置的最左端索引,否則返回7,其語法格式如下。

str.find(sub|,start[,end]])

其中,str表示被查找字符串;sub表示查找的子串;start表示

開始索引,缺省時為0;end表示結(jié)束索引,缺省時為字符串的長度。

■【教師】演示例*5程序

#創(chuàng)建字符串excerpts并賦值

excerpts=",次日,于桃園中,備下烏牛白馬祭禮等項,三人焚

香再拜而說誓日:

“念劉備、關(guān)羽、張飛,雖然異姓,既結(jié)為兄弟,則

同心協(xié)力,救困扶危;

上報國家,下安黎庶。不求同年同月同日生,只愿同

年同月同日死。

皇天后土,實鑒此心,背義忘恩,天人共戮「誓畢,

拜玄德為兄,

關(guān)羽次之,張飛為弟。祭罷天地,復宰牛設(shè)酒,聚鄉(xiāng)

中勇士,

得三百余人,就桃園中痛飲一醉。來日收拾軍器,但

恨無馬匹可乘。

正思慮間,人報有兩個客人,引一伙伴當,趕一群馬,

投莊上來。

玄德曰:"此天佑我也!"三人出莊迎接。原來二客

乃中山大商:

一名張世平,一名蘇雙,每年往北販馬,近因寇發(fā)而

回。

玄德請二人到莊,置酒管待,訴說欲討賊安民之意。

二客大喜,

14

愿將良馬五十匹相送;又贈金銀五百兩,銀鐵一千斤,

以資器用。

name=inpul('請輸入人物姓名:,)#輸入人物姓

名并賦給nainc

index=excerpts.find(name)#使用find。方法在excerpts中查找

name

ifindex>-1:#如果

返回值大于-1

#輸出index

prini⑴首次出現(xiàn)的位置索引為:{}'.format(name,index))

#使用count。方法獲取name出現(xiàn)的次數(shù)并輸出

print('{)在此片段中出現(xiàn){}次,.format(name,

cxccrpts.count(namc)))

else:

print('{}沒有出現(xiàn)在此片段中’.format(name))#輸出不在此

片段中

■【學生】觀察運行結(jié)果并討論

■【教師】講解程序

等句功胡:打印他沒日擾男在片俊中擾再um。

■【學生】聆聽、記錄、理解

■【教師】布置題目

(1)以下程序的輸出結(jié)果是()。

str="Welcometobeijing"

printCstr.findC'to"))

A.2B.3C.8D.9

(2)以下程序的輸出結(jié)果是________

string="AABBCCDDEEFF"

i=0

whilei<len(string):

st=string.find("BB")

ifst==-1:

break

i+=1

print(string[st:])

■【學生】完成題目

■【教師】隨機點名回答

split。方法以指定字符為分隔符,從字符串左端開始將字符串分

隔成多個子串,并返回分割結(jié)果的列表,其語法格式如下。

str.split(|delimiter,num])

其中,str表示被分割的字符串;delimiter表示分隔符,可以是

空格、換行(5)、制表符(V)等,缺省時為空格;num表示分割

次數(shù),缺省時全部分割。

例如,使用splil()方法將字符串"Thisisanexampleofcutting"

進行分割,可以用下面代碼實現(xiàn)。

sirs=Thisisanexampleofcutting'#創(chuàng)建字符串

#以空格為分隔符將字符串全部分割

果為[This丁is」an\'example:'of,'cutting?

strs.split()

#以空格為分隔符將字符串分割3次

#結(jié)果為「This','is','an','exampleofcutting']

strs.splil('3)

■學【生】聆聽、記錄、理解

■教【師】布置題目

(I)以下程序的輸出結(jié)果是______。

str="BaiduTranslationisanonlinetranslationservice',

print(lcn(str.split("t"))))

■學【生】完成題目

■教【師】隨機點名回答

3)連接字符串

join。方法用于將序列中的元素以指定的字符連接,生成一個新

的字符串,其語法格式如下。

str.join(sequence)

其中,str表示連接符,可以為空sequence表示要連接的序列。

例如,使用join。方法將字符串"Python!”中的字符用連接,

可以用下面弋碼實現(xiàn)。

#用"一''連接字符,輸出結(jié)果為"P-y-t-h-o-n-!”

print('-'.join('Python!'))

■【教師】演示例4-6程序

strs='Raintailsonfieldand〔rec「#創(chuàng)建字符串

sirs

print(strs)#輸出sirs

split_strs=itrs.split()#以空格為分隔符,將sirs全

部分割

print(sp)it_strs)#輸出分割后結(jié)果

join_strs-.join(split_strs)#用空格連接分割后的子串

print(join_strs)#輸出連接后的字

符串

■學【生】觀察運行結(jié)果并討論

■教【師】講解程序

■學【生】聆聽、記錄、理解

■教【師】布置題目

(1)以下程序的輸出結(jié)果是

str="ab"

piint(,,*".join(str))

■學【生】完成題目

■教【師】隨機點名回答

replace。方法用于將字符串中的舊字符串替換成新字符串,其語

法格式如下.

str.replace(old,newl,maxj)

其中,str表示字符串;old表示將被替換的舊字符串;new表示

新字符串,用于替換old;max是可選參數(shù),表示替換的最大次數(shù),

缺省時替換所有。

例如,使用rcplaccQ方法將字符串"MondayTuesdayWednesday"

中的"day"替換為"DAY”,可以用下面代碼實現(xiàn)。

strs='MondayTuesdayWednesday'

#將strs中的day替換為DAY輸出結(jié)果為"MonDAYTuesDAY

WcdncsDAY"

print(strs.ieplace('day','DAY'))

#將strs中的day替換為DAY,只替換兩次,輸出結(jié)果為

"MonDAYTuesDAYWednesday"

print(strs.replace('day','DAY',2))

■【學生】聆聽、記錄、理解

■【教師】布置題目

(1)以下程序的輸出結(jié)果是________

str="北京大學”

priM(str.replace("北京","南京"))

(2)以下程序的輸出結(jié)果是________

x=4

s="0123456789"

ifstr(x)ins:

print(s.replace(slxj.str(x-I)))

■【學生】完成題目

■【教師】隨機點名回答

5)移除字符串的首尾字符

strip。方法用于移除字符串首尾連續(xù)的空白字符或指定字符,其

語法格式如下。

str.strip([chars])

其中,str表示字符串Xhars表示移除的字符串首尾指定的字符,

缺省時為空格。

例如,使用strip。方法移除字符串"IlOThisisancxamplcOOOI

19

中的"0"和"1",可以用下面代碼實現(xiàn)。

strs="11OThisisanexampleOOO1'#創(chuàng)建字符串

#移除strs兩側(cè)的1,輸出結(jié)果為"OThisisanexampleOOO0

print(strs.stripCr))

#移除sirs兩側(cè)的1和0,輸出結(jié)果為"Thisisanexample"

print(strs.strip('10'))

■學【生】聆聽、記錄、理解

■教【師】布置題目

(1)以下程序的輸出結(jié)果是()。

sir="北京.天津.上海.重慶”

print(s〔r.strip("J).replace(",

A.北京,天津,上海,重慶B.北京天津上海重慶

C.北京:天津:上海:重慶D.北京、天津、上海、重慶

■學【生】完成題目

■【教師】隨機點名回答

6)轉(zhuǎn)換字符串的大小寫

lower。方法用于將字符串中所有大寫字符轉(zhuǎn)換為小寫,而

upper。方法則用于將字符串中所有小寫字符轉(zhuǎn)換為大寫,其語法格

式如下。

str.lower()

str.upper()

其中,str表示字符串。例如,使用lower。方法將字符串“This

isanEXAMPLE0轉(zhuǎn)換為小寫,再使用upper()方法將其轉(zhuǎn)換為大寫,

可以用下面代碼實現(xiàn)。

strs='ThisisanEXAMPLE'#創(chuàng)建字符串

#將strs中的大寫字符轉(zhuǎn)換為小寫,輸出結(jié)果為"thisisan

example"

print(strs.lowcrO)

#將strs中的小寫字符轉(zhuǎn)換為大寫,輸出結(jié)果為"THISISAN

EXAMPLE"

print(strs.uppcrO)

■【學生】聆聽、記錄、理解

■【教師】帶領(lǐng)學生完成任務(wù)一

小【教師】提出任務(wù)

如果一個字符串從前往后和從后往前讀是一樣的,則稱為回文

串。因此,判斷一個字符串是否是回文串,可以韌得字符串的長

度,然后從首尾字符開始依次判斷。本任務(wù)要求大家編寫Python程

序,判斷回文串。

■【學生】思考、討論

一、進行任務(wù)分析:

完成本任務(wù),須首先輸入字符串;接著定義回文串標志(nag,

初值為True)、首字符索引(low,初值為0)和尾字符索引(high,

初值為字符串長度減1);然后循環(huán)判斷索引為low和high的字符

是否相等,如果不相等則flag設(shè)為False,并退出循環(huán),否則low加

1,high減1,進行下一次判斷,直到low大于等于high;最后根據(jù)

flag的值輸出字符串是否是回文串。通過任務(wù)實施

二、參考代碼:環(huán)節(jié),讓學生將所

任務(wù)實施

01、checkStr=inputC請輸入要判斷的字符串:\n')學知識與實踐相

15min)

02、flag=True#定義回文串結(jié)合,培養(yǎng)學生的

標志,賦初1直為True實操能力

03、low=0#定義首字符

索引,賦初值為0

04、high=len(checkStr)-1#定義尾字符索

弓1,賦初值為字符串的長度減1

05、whilelow<high:#循環(huán)

06、ifcheckStrllow]!=checkStr[high]:#如果兩個字

符不相等

07、flag=False#回文串標志

設(shè)為False

08、break#退出循環(huán)

09、low+=1#首字符索引

加1

10、high-=1#尾字符索引

減1

Ilsifflag:#如果回文串

標志為True,則是回文串

12、print('"{}"是回文串.'.formaKcheckStr))

三、代碼運行結(jié)果:

請輸入要判斷的字符串:

上海自來水來自海上

"上海自來水來自海上”是回文串。

四、代碼分析(主要代碼):

下面分別解釋各行代碼的意義:

第01~04行:變量初始化。

其中被檢查的字符串chcckStr通過鍵盤輸入,

溫馨提示

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

評論

0/150

提交評論