




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目4組合數(shù)據(jù)結(jié)構(gòu)任務(wù)5實(shí)踐活動(dòng)任務(wù)1列表任務(wù)2元組任務(wù)3字典任務(wù)4集合任務(wù)5實(shí)踐活動(dòng)任務(wù)1列表任務(wù)2元組任務(wù)3字典任務(wù)4集合列表的創(chuàng)建方式列表是最常用的Python數(shù)據(jù)類型。列表的數(shù)據(jù)項(xiàng)可以是相同的數(shù)據(jù)類型,也可以是不同的數(shù)據(jù)類型。創(chuàng)建一個(gè)列表,只要把逗號(hào)分隔的不同的數(shù)據(jù)項(xiàng)使用方括號(hào)括起來(lái)即可。代碼如ex0401.py所示:list1=['Sohu','Baidu',2022,2023] #列表中的元素類型不同list2=[2019,2020,2021,2022,2023] #列表中的元素均為整型list3=["abc","efg","xyz","123"] #列表中的元素類型均為字符串類型列表的遍歷和訪問1列表的遍歷遍歷列表可以逐個(gè)處理列表中的元素,通常使用for循環(huán)和while循環(huán)來(lái)實(shí)現(xiàn)。①使用for循環(huán)遍歷列表使用for循環(huán)遍歷列表只需將要遍歷的列表作為for循環(huán)表達(dá)式中的序列即可。代碼如下所示:website_list=['Baidu','Sohu','Sina']forwebsiteinwebsite_list: print(website)上述代碼的執(zhí)行結(jié)果為:BaiduSohuSina②使用while循環(huán)遍歷列表使用while語(yǔ)句遍歷列表時(shí),需要先獲取列表的長(zhǎng)度,將獲取的列表長(zhǎng)度作為while循環(huán)的條件。代碼如下所示:website_list=['Baidu','Sohu','Sina']length=len(website_list)i=0whilei<length: print(website_list[i]) i+=1上述代碼的執(zhí)行結(jié)果為:BaiduSohuSina2列表元素的訪問①使用下標(biāo)索引來(lái)訪問列表中的值與字符串的索引一樣,列表索引從
0
開始,第二個(gè)索引是
1,依此類推。代碼如下所示:Website_list=['Taobao','Baidu','Sina','163','Sohu','Yahoo']print(Website_list[1])print(Website_list[3])print(Website_list[5])上述代碼的執(zhí)行結(jié)果為:Baidu163Yahoo索引也可以從尾部開始,最后一個(gè)元素的索引為
-1,往前一位為
-2,以此類推。代碼如下所示:Website_list=['Taobao','Baidu','Sina','163','Sohu','Yahoo']print(Website_list[-5])print(Website_list[-3])print(Website_list[-1])上述代碼的執(zhí)行結(jié)果為:Baidu163Yahoo②使用方括號(hào)
[]
的形式截取字符,代碼如下所示:number=[100,200,300,400,500,600,700,800,900]print(number[1:5])#列表中的元素類型不同從下標(biāo)1的元素開始(包含)截取到下標(biāo)為5的元素(不包含)上述代碼的執(zhí)行結(jié)果為:[200,
300,
400,
500]列表元素的常見操作append()方法用于在列表末尾添加新的元素。append()方法list1=['Sina','Runoob','Sohu']list1.append('Baidu')print("更新后的列表:",list1)['Sina','Runoob','Sohu','Baidu']在列表中添加元素extend()方法可以將一個(gè)列表中的元素全部添加到另一個(gè)列表的末尾。extend()方法list1=['Sina','Runoob','Sohu']list2=['Baidu','Taobao','163']list1.extend(list2)print(list1)print(list2)['Sina','Runoob','Sohu','Baidu','Taobao','163']['Baidu','Taobao','163']insert()方法用于將元素插入列表的指定位置。insert()方法list1=['Sina','Runoob','Sohu']list1.insert(1,'Baidu')print(list1)['sina','baidu','runoob','sohu']修改列表中的元素就是通過索引獲取元素并對(duì)元素進(jìn)行重新賦值。代碼如下所示:list=['Google','Runoob',1997,2000]print("第三個(gè)元素為:",list[2])list[2]=2001print("更新后的第三個(gè)元素為:",list[2])上述代碼的執(zhí)行結(jié)果為:第三個(gè)元素為:1997更新后的第三個(gè)元素為:2001修改列表元素通過Python中的成員運(yùn)算符in和notin可以檢查某個(gè)元素是否存在于列表中。in:若元素存在于列表中,返加Ture,否則返回False。notin與in相反。代碼如下所示:list1=['Sina','Runoob','Sohu']netName=input('請(qǐng)輸入網(wǎng)站名稱:')ifnetNameinlist1: print("有這個(gè)網(wǎng)站")else: print("無(wú)這個(gè)網(wǎng)站")運(yùn)行程序,屏幕顯示“請(qǐng)輸入網(wǎng)站名稱:”,這時(shí)輸入‘Sina’,則打印“有這個(gè)網(wǎng)站”,上述代碼的執(zhí)行結(jié)果為:請(qǐng)輸入網(wǎng)站名稱:Sina有這個(gè)網(wǎng)站查找列表元素可以使用del語(yǔ)句來(lái)刪除列表中指定下標(biāo)的元素。del語(yǔ)句list=['Google','Runoob',1997,2000]print("原始列表:",list)dellist[2]print("刪除第三個(gè)元素:",list)原始列表:['Google','Runoob',1997,2000]刪除第三個(gè)元素:['Google','Runoob',2000]刪除列表元素使用pop()方法可以刪除列表的最后一下元素。pop()方法list=['Google','Runoob','baidu','sina']print("原始列表:",list)list.pop()print("操作后元素:",list)原始列表:['Google','Runoob','Baidu','Sina']操作后元素:['Google','Runoob','Baidu']使用remove()方法可以刪除列表的指定元素。remove()方法list=['Google','Runoob','Baidu','Sina']print("原始列表:",list)list.remove('Runoob')print("操作后元素:",list)原始列表:['Google','Runoob','Baidu','Sina']操作后元素:['Google','Baidu','Sina']reverse()方法用于將列表中的元素倒序排列。reverse()方法list=['Google','Runoob','Baidu','Sina']print("原始列表:",list)list.reverse()print("操作后元素:",list)原始列表:['Google','Runoob','Baidu','Sina']操作后元素:['Sina','Baidu','Runoob','Google']列表的排序操作sort()方法的語(yǔ)法:sort(key=None,reverse=False)。其中,參數(shù)key表示指定的排序規(guī)則,可以是大小,長(zhǎng)度等。Reverse的值為True,表示降序排列。Reverse的值為False,表示升序排列。sort()方法list=[1,11,6,9]list.sort()print("原始列表:",list)list.sort(reverse=True)print("操作后元素:",list)原始列表:[1,6,9,11]操作后元素:[11,9,6,1]任務(wù)5實(shí)踐活動(dòng)任務(wù)1列表任務(wù)2元組任務(wù)3字典任務(wù)4集合元組的創(chuàng)建方式Python的元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號(hào)
(),列表使用方括號(hào)
[]。元組創(chuàng)建很簡(jiǎn)單,只需要在括號(hào)中添加元素,并使用逗號(hào)隔開即可。代碼如下所示:Tuple1=('Sohu','Sina','Baidu','163')Tuple2=("a",1,5.6)#元組中元素類型不同Tuple3="1","2","3"#不需要括號(hào)也可以print(type(Tuple1))print(type(Tuple2))print(type(Tuple3))上述代碼的執(zhí)行結(jié)果為:<class'tuple'><class'tuple'><class'tuple'>訪問元組元素元組可以使用索引訪問元組中的元素。使用索引訪問單個(gè)元素tup1=('Baidu','Sina',2022,2023)print("tup1[0]:",tup1[0])print("tup1[1]:",tup1[1])print("tup1[2]:",tup1[2])print("tup1[3]:",tup1[3])元組與字符串類似,下標(biāo)索引從0開始,可以進(jìn)行截取,組合等。tup1[0]:Baidutup1[1]:Sinatup1[2]:2022tup1[3]:2023元組可以使用索引訪問元組中的元素。使用切片訪問元組元素tup2=(1,2,3,4,5,6,7)print("tup2[1:5]:",tup2[1:5])print("tup2[2:5]:",tup2[2:5])print("tup2[1:4]:",tup2[1:4])print("tup2[:4]:",tup2[:4])#獲取列表中索引為0至索引值為4的元素(不包含)tup2[1:5]:(2,3,4,5)tup2[2:5]:(3,4,5)tup2[1:4]:(2,3,4)tup2[:4]:(1,2,3,4)任務(wù)5實(shí)踐活動(dòng)任務(wù)1列表任務(wù)2元組任務(wù)3字典任務(wù)4集合字典是映射類型,且可存儲(chǔ)任意類型對(duì)象字典的每個(gè)鍵值對(duì)key/value用冒號(hào)’:’分割,每個(gè)對(duì)之間用逗號(hào)’,’分割,整個(gè)字典包括在花括號(hào)
{}
中,格式如下所示:d={key1:value1,key2:value2,key3:value3}其中,字典的鍵必須是唯一的,但值則不必。值可以取任何數(shù)據(jù)類型,如字符串,數(shù)字。一個(gè)簡(jiǎn)單的字典實(shí)例:tinydict={'Name':'Zhangsan','Gender':'Male','Age':23}使用{}創(chuàng)建字典字典的創(chuàng)建字典的常見操作使用內(nèi)建函數(shù)dict()創(chuàng)建字典Dict=dict(Name='Zhangsan',Gender='Male',Age=23)print(Dict) #打印字典print("Length:",len(Dict)) #查看字典的數(shù)量print(type(Dict)) #查看類型{'Name':'Zhangsan','Gender':'Male','Age':23}Length:3<class'dict'>根據(jù)鍵訪問值可以通過鍵獲取對(duì)應(yīng)的值tinyDict={'Name':'Ligang','Age':47,'Gender':'Male'}print("tinyDict['Name']:",tinyDict['Name'])print("tinyDict['Age']:",tinyDict['Age'])tinyDict['Name']:LigangtinyDict['Age']:47如果用字典里沒有的鍵訪問數(shù)據(jù),會(huì)輸出錯(cuò)誤。代碼如下所示:tinyDict={'Name':'Ligang','Age':47,'Gender':'Male'}print("tinyDict['Address']:",tinyDict['Address'])File"d:/ex0422.py",line2,in<module>print("tinyDict['Address']:",tinyDict['Address'])KeyError:'Address'添加字典元素可以通過下標(biāo)的形式添加字典元素,代碼如下所示:dict={'Name':'Ligang','Age':47,'Gender':'Male'}dict['Address']='Anhui'print(dict){'Name':'Ligang','Age':47,'Gender':'Male','Address':'Anhui'}修改字典元素向字典添加新內(nèi)容的方法是增加新的鍵/值對(duì),修改已有鍵/值對(duì)。代碼如下所示:dict={'Name':'Ligang','Age':47,'Gender':'Male'}
dict['Age']=48 #修改Agedict['Name']="Zhaoyan"#修改Namedict['Gender']="Female" #修改Gender
print("dict['Age']:",dict['Age'])print("dict['Name']:",dict['Name'])print("dict['Gender']:",dict['Gender'])dict['Age']:48dict['Name']:Zhaoyandict['Gender']:Female字典元素的刪除使用del刪除字典元素deldicts[key]:刪除字典中的某個(gè)鍵值對(duì)。代碼如下所示:dicts={'Name':'Ligang','Age':47,'Gender':'Male','Address':'Anhui'}deldicst['Age'] #刪除鍵'Name'print(dicts){'Name':'Ligang','Gender':'Male','Address':'Anhui'}使用pop()方法刪除字典中指定元素dict.pop(key,default):當(dāng)鍵存在則返回相應(yīng)值,同時(shí)刪除鍵值對(duì),否則返回默認(rèn)值。代碼如下所示:dict={'Name':'Ligang','Age':47,'Gender':'Male','Address':'Anhui'}print(dict.pop('Name'))#使用pop()刪除指定鍵為'Name'的元素,并打印鍵值print(dict)print(dict.pop("tel","沒有鍵值為tel的項(xiàng)"))print(dict)Ligang{'Age':47,'Gender':'Male','Address':'Anhui'}沒有鍵值為tel的項(xiàng){'Age':47,'Gender':'Male','Address':'Anhui'}使用clear刪除字典元素代碼如下所示:dict={'Name':'Ligang','Age':47,'Gender':'Male'}dict.clear()#清空字典print(dict){}字典元素的查詢查看字典的所有元素
使用items()方法。代碼如下所示:dict={'Name':'Ligang','Age':47,'Gender':'Male','Address':'Anhui'}foriindict.items(): print(i)('Name','Ligang')('Age',47)('Gender','Male')('Address','Anhui')查看字典中的所有鍵
使用keys()方法。代碼如下所示:dict={'Name':'Ligang','Age':47,'Gender':'Male','Address':'Anhui'}foriindict.keys(): print(i)NameAgeGenderAddress任務(wù)5實(shí)踐活動(dòng)任務(wù)1列表任務(wù)2元組任務(wù)3字典任務(wù)4集合集合的創(chuàng)建及其常見操作創(chuàng)建集合
使用set函數(shù)創(chuàng)建集合,代碼如下所示:animal={'Eagle','Elephant','Leopard','Crocodile'}print(animal)a=set('China')b=set([1,2,3,8])print(a)print(b){'Leopard','Eagle','Elephant','Crocodile'}{'n','i','C','h','a'}{8,1,2,3}集合的常見操作
s.add(x):添加x到集合s中。s.remove(x):如果x在集合s中,移除該元素;x不在集合s中時(shí),會(huì)產(chǎn)生KeyError異常。s.discard(x):如果x在集合s中,移除該元素;x不在集合s中時(shí),不產(chǎn)生異常。s.pop():隨機(jī)刪除集合s中的一個(gè)元素。len(s):返回集合s中的元素個(gè)數(shù)。s.clear():清除集合s中的所有元素。集合元素的添加及刪除操作代碼如下所示:animal={'Eagle','Elephant','Leopard','Crocodile'}print(animal)animal.add('Tiger')print(animal)animal.remove('Crocodile')print(animal){'Crocodile','Eagle','Leopard','Elephant'}{'Tiger','Elephant','Eagle','Crocodile','Leopard'}{'Tiger','Elephant','Eagle','Leopard'}使用remove()刪除非集合中的元素代碼如下所示:a=set('China')a.remove('k')print(a)File"f:/2022first/set04.py",line3,in<module>a.remove('k')KeyError:'k'當(dāng)使用discard函數(shù)時(shí)代碼如下所示:a=set('China')a.discard('k')print(a){'a','n','C','h','i'}集合的常見操作代碼如下所示:b=set([1,2,3,8])print(b)print(len(b))b.remove(2)print(b)print(len(b))b.clear()print(b)print(len(b)){8,1,2,3}4{8,1,3}3set()0集合類型的操作符union():返回兩個(gè)集合的并集。intersection();返回集合的交集。任務(wù)5實(shí)踐活動(dòng)任務(wù)1列表任務(wù)2元組任務(wù)3字典任務(wù)4集合實(shí)踐一:天龍八部天龍八部,佛教術(shù)語(yǔ),天龍八部都是“非人”,包括八種神道怪物,因?yàn)椤疤毂姟奔啊褒埍姟弊顬橹匾?,所以稱為“天龍八部”。八部包括:一天眾、二龍眾、三夜叉、四乾達(dá)婆、五阿修羅、六迦樓羅、七緊那羅、八摩睺羅伽。本實(shí)例要求編寫程序,隨機(jī)輸入1至8中間的一個(gè)數(shù)字,輸出這個(gè)數(shù)字在八部眾中對(duì)應(yīng)的部分。1.實(shí)踐分析(1)創(chuàng)建一個(gè)代表天龍八部的數(shù)組,該數(shù)組中共有8個(gè)字符串類型的元素;(2)提示并接收用戶輸入的天龍八部的編號(hào)(1~8);(3)根據(jù)編號(hào)對(duì)應(yīng)的索引訪問數(shù)組元素并輸出。注意,為保證程序的健壯性,避免因用戶輸入無(wú)效編號(hào)而導(dǎo)致的越界異常,這里應(yīng)添加判斷編號(hào)是否有效的處理代碼:若用戶輸入有效的編號(hào),則提示相應(yīng)的兌獎(jiǎng)信息,否則提示“輸入的位置不合規(guī)”。2.代碼實(shí)現(xiàn)本實(shí)例的具體實(shí)現(xiàn)代碼如下所示:Tianlongbabu=["天","龍","夜叉","乾達(dá)婆","阿修羅","迦樓羅","緊那羅","摩呼羅迦"]fortlinTianlongbabu:
#輸出列表內(nèi)容每次輸出后以空格分割開 print(tl,end='')print('\n====天龍八部:====') #換行輸出內(nèi)容num=int(input("請(qǐng)輸入代號(hào)(1~8):"))if1<=num<=8:
info=Tianlongbabu[num-1] print(f"{info}")else:
print("輸入的位置不合規(guī)!")以上代碼首先定義了包含8個(gè)字符串的列表Tianlongbabu,然后使用input()函數(shù)接收用戶輸入的天龍八部的代號(hào),并將其保存到變量num中,最后使用if-else語(yǔ)句處理了num不同值的情況:若num值大于0小于列表Tianlongbabu的長(zhǎng)度,訪問并打印列表Tianlongbabu中索引num-1對(duì)應(yīng)的元素,否則就打印“輸入的位置不合規(guī)”。3.代碼測(cè)試運(yùn)行程序,在控制臺(tái)輸入“1”之后的運(yùn)行結(jié)果如下所示:請(qǐng)輸入代號(hào)(1~8):1天實(shí)踐二:歐冠決賽2021-2022賽季歐洲冠軍聯(lián)賽是由歐洲足球聯(lián)合會(huì)主辦的第67屆歐洲足球俱樂部的頂級(jí)賽事,也是以歐洲冠軍聯(lián)賽名義下的第30屆賽事。2021-2022賽季歐洲冠軍聯(lián)賽于2021年6月22日拉開戰(zhàn)幕,決賽于2022年5月28日在圣彼得堡的圣彼得堡體育場(chǎng)舉行。
2022年2月25日,歐足聯(lián)宣布?xì)W冠決賽主場(chǎng)從俄羅斯圣彼得堡球場(chǎng)移至法國(guó)法蘭西大球場(chǎng)。最終由皇家馬德里隊(duì)奪得了歐冠冠軍獎(jiǎng)杯。本實(shí)例要求編寫程序,打印出半決賽和決賽的場(chǎng)次,用戶可以選擇場(chǎng)次進(jìn)行回看。1.實(shí)踐分析(1)創(chuàng)建一個(gè)存放比賽場(chǎng)次的列表;(2)創(chuàng)建一個(gè)存放主隊(duì)-客隊(duì)的列表;(3)創(chuàng)建一個(gè)存放比賽時(shí)間的列表;(4)創(chuàng)建一個(gè)存放比分的列表;(5)創(chuàng)建一個(gè)用于判斷用戶輸入觀看場(chǎng)次的函數(shù);(6)根據(jù)用戶輸入觀看場(chǎng)次訪返回對(duì)應(yīng)場(chǎng)次的信息,如果該場(chǎng)次不存在則提示用戶再次輸入。2.代碼實(shí)現(xiàn)本實(shí)例的具體實(shí)現(xiàn)代碼如下所示:#檢查是否有該場(chǎng)次方法defcheck_session(string): #檢查輸入的場(chǎng)次是否是包含在場(chǎng)次列表中
ifstringinSession_Competition: #包含在場(chǎng)次系列表中,則退出方法
returnstring
else: #輸出不包含在場(chǎng)次列表中,提示用戶再次輸入
x=input("沒有該場(chǎng)次,請(qǐng)重新輸入要觀看的場(chǎng)次:")#檢查輸入的場(chǎng)次是否存在在場(chǎng)次系列中
returncheck_session(x)type=['場(chǎng)次','主隊(duì)-客隊(duì)','比賽時(shí)間','比分'] #比賽場(chǎng)次Session_Competition=['1','2','3','4','5'] #主隊(duì)-客隊(duì)列表HomeTeam_AwayTeam=['切爾西-皇家馬德里','皇家馬德里-切爾西','曼城-皇家馬德里','皇家馬德里-曼城','利物浦-皇家馬德里'] #比賽時(shí)間列表Competition_time=['2022-04-07:03:00','2022-04-13:03:00','2022-04-27:03:00','2022-05-05:03:00','2022-05-29:03:00'] #比分列表Score=['1:3','2:3','4:3','3:1','0:1'] #輸出火車票信息print('{}
{}
{}
{}'.format(type[0],type[1],type[2],type[3]))print('{}
{}
{}
{}'.format(Session_Competition[0],HomeTeam_AwayTeam[0],Competition_time[0],Score[0]))print('{}
{}
{}
{}'.format(Session_Competition[1],HomeTeam_AwayTeam[1],Competition_time[1],Score[1]))print('{}
{}
{}
{}'.format(Session_Competition[2],HomeTeam_AwayTeam[2],Competition_time[2],Score[2]))print('{}
{}
{}
{}'.format(Session_Competition[3],HomeTeam_AwayTeam[3],Competition_time[3],Score[3]))print('{}
{}
{}
{}'.format(Session_Competition[4],HomeTeam_AwayTeam[4],Competition_time[4],Score[4])) #提示用戶輸入場(chǎng)次session_number=input("請(qǐng)輸入要觀看的場(chǎng)次:")#檢查輸入的場(chǎng)次是否包含在列表中,接收正確的場(chǎng)次session_number=check_session(session_number)i=int(session_number)-1#提示用戶輸入購(gòu)票人信息audience=input("請(qǐng)輸入購(gòu)票人:")print('尊敬的'+audience+'你已選擇回看第'+session_number+'場(chǎng)比賽,'+Competition_time[i]+'開始,對(duì)陣雙方為
'+HomeTeam_AwayTeam[i]+'比分為'+Score[i]+'祝您觀看愉快。')3.代碼測(cè)試運(yùn)行程序,在控制臺(tái)中出現(xiàn)場(chǎng)次,這時(shí)我們需要輸入觀看場(chǎng)次,然后輸入購(gòu)票人信息,點(diǎn)擊回車,最后顯示出結(jié)果如下所示:場(chǎng)次
主隊(duì)-客隊(duì)
比賽時(shí)間
比分1切爾西-皇家馬德里2022-04-07:03:001:32皇家馬德里-切爾西2022-04-13:03:002:33曼城-皇家馬德里2022-04-27:03:004:34皇家馬德里-曼城2022-05-05:03:003:15利物浦-皇家馬德里2022-05-29:03:000:1請(qǐng)輸入要觀看的場(chǎng)次:5 請(qǐng)輸入購(gòu)票人:MissLin尊敬的MissLin你已選擇回看第5場(chǎng)比賽,2022-05-29:03:00開始,對(duì)陣雙方為
利物浦-皇家馬德里比分為0:1祝您觀看愉快。實(shí)踐三:?jiǎn)卧~識(shí)別十二月份的英文:一月:January,二月:February,三月:March,四月:April,五月:May,六月:June,七月:July,八月:August,九月:September,十月:October,十一月:November,十二月:December。這些單詞的首字母有些相同,如四月:April和八月:August,有些不相同,如九月:September和十二月:December。本例要求編寫程序,根據(jù)第一或第二,最多第三個(gè)字母,能夠判斷并輸出十二個(gè)月份的完整單詞。1.實(shí)踐目標(biāo)(1)熟練地創(chuàng)建字典。(2)熟練地通過鍵訪問字典中的值。2.實(shí)踐分析本實(shí)例的完整單詞包含12個(gè),它們分別是January、February、March、April、May、June、July、August、September、October、November、December。其中,F(xiàn)ebruary、September、October、November、December能根據(jù)首字母判斷,April、August需根據(jù)用戶連續(xù)輸入兩次字母才能進(jìn)一步判斷,March、May需要輸入第三個(gè)字母才能判斷,January、June、July,當(dāng)輸入第二個(gè)字母時(shí),可判斷是January還是June、July中的某一個(gè),如果是June或July,需要再輸入第三個(gè)字母才能判定。具體規(guī)則如下:(1)若用戶第一次輸入的字母為“f”、“F”、“s”、“S”、“O”、“o”、“n”、“N”、“D”、“d”,則直接返回、“February”“September”、“October”、“November”、“December”;(2)若用戶第一次輸入“m”,需要再輸入第2個(gè)字母進(jìn)行判斷,輸入“a”則繼續(xù)執(zhí)行,否則顯示錯(cuò)誤,接下來(lái)再輸入第三個(gè)字母,輸入“y”返回“May”,輸入“r”返回“March”;若用戶第一次輸入“j”,需要再輸入第2個(gè)字母進(jìn)行判斷,輸入“a”返回“January”,輸入“u”則需要輸入第三個(gè)字母,輸入“l(fā)”返回“July”,輸入“n”返回“June”;若用戶第一次輸入其它字母,則提示用戶“請(qǐng)輸入正確的字母”。從以上分析可知,第一個(gè)或第二個(gè)字母,最多第三個(gè)字母可以作為獲取完整單詞的鍵,因此創(chuàng)建一個(gè)包含8個(gè)鍵值對(duì)的字典,其中,鍵“f”、“s”和“o”、“n”、“d”對(duì)應(yīng)的值為“February”、“September”和“October”、“November”、“December”;鍵“m”和“a”對(duì)應(yīng)的值是字典{'y':'May','r':'March'}和{'p':'April','u':'August'};鍵“j”對(duì)應(yīng)的值是字典{'a':'January','u':june_or_july};鍵“u”對(duì)應(yīng)的值是字典{'n':'June','l':'July'}。3.代碼實(shí)現(xiàn)june_or_july={'n':'June','l':'July'}janu_or_ju={'a':'January','u':june_or_july}may_or_march={'y':'May','r':'March'}apr_or_aug={'p':'April','u':'August'}month={'j':janu_or_ju,'m':may_or_march,
'f':'February','a':apr_or_aug,
's':'September','o':'October','n':'November','d':'December'}first_char=input('請(qǐng)輸入第一位字母:').lower().strip()iffirst_charin['a','j','s','m','o','f','n','d']:
if
month[first_char]==apr_or_aug:
second_char=input('請(qǐng)輸入第二位字母:').lower().strip()ifsecond_charin['u','p']:
print(month[first_char][second_char])
else:
print('請(qǐng)輸入正確字母')
elif
month[first_char]==may_or_march:
second_char=input('請(qǐng)輸入第二位字母:').lower().strip()
ifsecond_char=='a':
third_char=input('請(qǐng)輸入第三位字母:').lower().strip()
ifthird_charin['r','y']:
print(month[first_char][third_char])
else:
print('請(qǐng)輸入正確字母')
else:
print('請(qǐng)輸入正確字母')elifmonth[first_char]==janu_or_ju:
second_char=input('請(qǐng)輸入第二位字母:').lower().strip()
ifsecond_char=='a':
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑行業(yè)農(nóng)民工勞動(dòng)合同范本(一)與建筑行業(yè)勞務(wù)合同8篇
- 商品房房屋公證合同10篇
- 員工宿舍法規(guī)合同協(xié)議
- 員工協(xié)議代替勞動(dòng)合同
- 售貨機(jī)合同協(xié)議模板
- 小型百貨超市加盟合同6篇
- 鮮花租賃合同5篇
- 土豆銷售合同范本3篇
- 勞動(dòng)合同解除與補(bǔ)償計(jì)算教案3篇
- 小學(xué)家教合同范本3篇
- 2025年審計(jì)審查重點(diǎn)試題及答案
- 2025年證券從業(yè)資格證考試真題試題及答案
- 城市管理文明執(zhí)法規(guī)范(試行)
- 廣東省2024-2025學(xué)年佛山市普通高中教學(xué)質(zhì)量檢測(cè)物理試卷及答案(二)高三試卷(佛山二模)
- 【9數(shù)一模】2025年安徽合肥市第四十五中學(xué)九年級(jí)中考一模數(shù)學(xué)試卷(含答案)
- 2025年中石油政工師理論考試題庫(kù)(含答案)
- 2025年二建-水利-簡(jiǎn)答200問
- 安全專項(xiàng)施工方案內(nèi)容
- 2025天津市安全員《B證》考試題庫(kù)及答案
- 幼兒園趣味迷宮課件
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)(2024年第四季度)
評(píng)論
0/150
提交評(píng)論