'''練習題:'''''' 一、有變量name = "aleX leNb" 完成以下操做:'''# name = "aleX leNb"''' 1) 移除 name 變量對應的值兩邊的空格,並輸出處理結果'''# name1 = (name.strip())# print(name1)''' 2) 移除name變量左邊的"al"並輸出處理結果'''# name2 = name.lstrip('al')# print(name2)''' 3) 移除name變量右面的"Nb",並輸出處理結果'''# name3 = name.rstrip('Nb')# print(name3)''' 4) 移除name變量開頭的a"與最後的"b",並輸出處理結果'''# name4 = name.lstrip('a').rstrip('b')# print(name4)''' 5) 判斷 name 變量是否以 "al" 開頭,並輸出結果'''# if name.startswith('al'):# print('%s是以al開頭' % (name))# else:# print('%s不是以al開頭' % (name))''' 6) 判斷name變量是否以"Nb"結尾,並輸出結果'''# if name.endswith('Nb'):# print('%s是以Nb結尾' % (name))# else:# print('%s不是以Nb結尾' % (name))''' 7) 將 name 變量對應的值中的 全部的"l" 替換爲 "p",並輸出結果 '''# name7=name.replace('l','p')# print(name7)''' 8) 將name變量對應的值中的第一個"l"替換成"p",並輸出結果'''# name8 = name.replace('l', 'p', 1)# print(name8)''' 9) 將 name 變量對應的值根據 全部的"l" 分割,並輸出結果。'''# name9 = name.split('l')# print(name9)''' 10) 將name變量對應的值根據第一個"l"分割,並輸出結果。 '''# name10 = name.split('l', 1)# print(name10)''' 11) 將 name 變量對應的值變大寫,並輸出結果'''# name11 = name.upper()# print(name11)''' 12) 將 name 變量對應的值變小寫,並輸出結果'''# name12 = name.lower()# print(name12)''' 13) 將name變量對應的值首字母"a"大寫,並輸出結果'''# name13 = name[0].upper()+name[1:]# print(name13)# name.capitalize()''' 14) 判斷name變量對應的值字母"l"出現幾回,並輸出結果'''# count14 = name.count('l')# print(count14)''' 15) 若是判斷name變量對應的值前四位"l"出現幾回,並輸出結果'''# count15 = name[0:4].count('l')# print(count15)''' 16) 從name變量對應的值中找到"N"對應的索引(若是找不到則報錯),並輸出結果'''# print(name.index('N'))''' 17) 從name變量對應的值中找到"N"對應的索引(若是找不到則返回-1)輸出結果'''# print(name.find('N'))''' 18) 從name變量對應的值中找到"X le"對應的索引,並輸出結果'''# print(name.find("X le"))''' 19) 請輸出 name 變量對應的值的第 2 個字符? '''# print(name[1])''' 20) 請輸出 name 變量對應的值的前 3 個字符? '''# print(name[0:3])''' 21) 請輸出 name 變量對應的值的後 2 個字符?'''# print(name[-2:])''' 22) 請輸出 name 變量對應的值中 "e" 所在索引位置?'''# print(name.find('e'))''' 二、有字符串s = "123a4b5c" '''# s = "123a4b5c"''' 1)經過對s切片造成新的字符串s1,s1 = "123" '''# s1 = s[:3]# print(s1)''' 2)經過對s切片造成新的字符串s2,s2 = "a4b" '''# s2 = s[3:6]# print(s2)''' 3)經過對s切片造成新的字符串s3,s3 = "1345" '''# s3 = s[::2]# print(s3)''' 4)經過對s切片造成字符串s4,s4 = "2ab" '''# s4 = s[1:-2:2]# print(s4)''' 5)經過對s切片造成字符串s5,s5 = "c" '''# s5 = s[-1:-2:-1]# print(s5)''' 6)經過對s切片造成字符串s6,s6 = "ba2" '''# s6 = s[-3::-2]# print(s6)''' 三、使用while或for循環分別打印字符串s="asdfer"中每一個元素。'''# s="asdfer"# i = 0# while i < len(s):# print(s[i])# i += 1# s="asdfer"# for i in s:# print(i)''' 四、使用for循環對s="asdfer"進行循環,可是每次打印的內容都是"asdfer"。'''# s="asdfer"# for i in s:# print(s)''' 五、使用for循環對s="abcdefg"進行循環,每次打印的內容是每一個字符加上sb, 例如:asb, bsb,csb,...gsb。'''# s="abcdefg"# for i in s:# print(i + 'sb')''' 六、使用for循環對s="321"進行循環,打印的內容依次是:"倒計時3秒","倒計時2秒","倒計時1秒","出發!"。'''# s="321"# for i in s:# if i == "1":# print('倒計時%s秒,出發' % (i))# else:# print('倒計時%s秒' % (i))''' 七、實現一個整數加法計算器(兩個數相加): 如:content = input("請輸入內容:") 用戶輸入:5+9或5+ 9或5 + 9,而後進行分割再進行計算。'''# summation = input("請輸入內容: ")# sum = int(summation.split('+')[0]) + int(summation.split('+')[1])# print(sum)''' 八、升級題:實現一個整數加法計算器(多個數相加): 如:content = input("請輸入內容:") 用戶輸入:5+9+6 +12+ 13,而後進行分割再進行計算。'''# summation = input("請輸入內容: ")# sum = 0# for i in summation.split('+'):# sum += int(i)# print(sum)''' 九、計算用戶輸入的內容中有幾個整數(以個位數爲單位)。 如:content = input("請輸入內容:") # 如fhdal234slfh98769fjdla'''# content = input("請輸入內容:")# count = 0# for i in content:# if i.isdigit():# count += 1# print(count)''' 十、寫代碼,完成下列需求: 用戶可持續輸入(用while循環),用戶使用的狀況: 輸入A,則顯示走大路回家,而後在讓用戶進一步選擇: 是選擇公交車,仍是步行? 選擇公交車,顯示10分鐘到家,並退出整個程序。 選擇步行,顯示20分鐘到家,並退出整個程序。 輸入B,則顯示走小路回家,並退出整個程序。 輸入C,則顯示繞道回家,而後在讓用戶進一步選擇: 是選擇遊戲廳玩會,仍是網吧? 選擇遊戲廳,則顯示 ‘一個半小時到家,爸爸在家,拿棍等你。’並讓其從新輸入A,B,C選項。 選擇網吧,則顯示‘兩個小時到家,媽媽已作好了戰鬥準備。’並讓其從新輸入A,B,C選項。'''# while True:# content = input("請輸入您的選項:")# if content == "A":# print("走大路回家")# content1 = input("是選擇公交車,仍是步行? ")# if content1 == "公交車":# print("10分鐘到家")# break# elif content1 == "步行":# print("20分鐘到家")# break# elif content == "B":# print("走小路回家")# break# elif content == "C":# print("繞道回家")# content2 = input("選擇遊戲廳玩會兒,仍是網吧? ")# if content2 == "遊戲廳":# print("一個半小時到家,爸爸在家,拿棍等你,請從新選擇。")# elif content2 == "網吧":# print("兩個小時到家,媽媽已作好了戰鬥準備,請從新選擇。")''' 十一、寫代碼:計算 1 - 2 + 3 ... + 99 中除了88之外全部數的總和?'''# sum = 0# for i in range(1,100):# if i == 88:# continue# if i % 2 == 1:# sum += i# else:# sum -= i# print(sum)''' 1六、製做趣味模板程序需求:等待⽤戶輸⼊名字、地點、愛好,根據⽤戶的名字和愛好進⾏任意顯示 如:敬愛可親的xxx,最喜歡在xxx地⽅⼲xxx'''# name = input("請輸入您的名字: ")# place = input("請輸入您的地點: ")# hobby = input("請輸入您的愛好: ")# print("敬愛可親的%s,最喜歡在%s幹%s" % (name, place, hobby))''' 1七、等待⽤戶輸⼊內容,檢測⽤戶輸⼊內容中是否包含敏感字符?若是存在敏感字符提示「存在敏感字符請從新輸⼊」,並容許⽤戶從新輸⼊並打印。敏感字符:「⼩粉嫩」、「⼤鐵錘」'''# sensitive_info = ['小粉嫩', '大鐵錘']# while True:# content = input("請輸入您要搜索的信息: ")# if content in sensitive_info:# print("存在敏感字符,請從新輸入")# continue# else:# print(content)# break''' 1八、寫代碼,有以下列表,按照要求實現每個功能''' # li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]''' 1)計算列表的長度並輸出'''# print(len(li))''' 2)列表中追加元素"seven",並輸出添加後的列表'''# li.append("seven")# print(li)''' 3)請在列表的第1個位置插入元素"Tony",並輸出添加後的列表'''# li.insert(0,"Tony")# print(li)''' 4)請修改列表第2個位置的元素爲"Kelly",並輸出修改後的列表'''# li[1] = "Kelly"# print(li)''' 5)請將列表l2=[1,"a",3,4,"heart"]的每個元素添加到列表li中,一行代碼實現,不容許循環添加。'''# l2 = [1,"a",3,4,"heart"]# li.extend(l2)# print(li)''' 6)請將字符串s = "qwert"的每個元素添加到列表li中,一行代碼實現,不容許循環添加。'''# s = "qwert"# li.extend(s)# print(li)''' 7)請給列表添加元素"eric",並輸出添加後的列表'''# li.append("eric")# print(li)''' 8)請刪除列表中的第2個元素,並輸出刪除的元素和刪除元素後的列表'''# li.pop(1)# print(li)''' 9)請刪除列表中的第2至4個元素,並輸出刪除元素後的列表'''# del li[1:4]# print(li)''' 10)請將列表全部得元素反轉,並輸出反轉後的列表'''# li.reverse()# print(li)''' 11)請計算出"alex"元素在列表li中出現的次數,並輸出該次數。'''# print(li.count("alex"))''' 1九、寫代碼,有以下列表,利用切片實現每個功能'''# li = [1, 3, 2, "a", 4, "b", 5,"c"]''' 1)經過對li列表的切片造成新的列表l1,l1 = [1,3,2]'''# l1 = li[0:3]# print(l1)''' 2)經過對li列表的切片造成新的列表l2,l2 = ["a",4,"b"]'''# l2 = li[3:6]# print(l2)''' 3)經過對li列表的切片造成新的列表l3,l3 = ["1,2,4,5]'''# l3 = li[::2]# print(l3)''' 4)經過對li列表的切片造成新的列表l4,l4 = [3,"a","b"]'''# l4 = li[1:-2:2]# print(l4)''' 5)經過對li列表的切片造成新的列表l5,l5 = ["c"]'''# l5 = li[-1:]# print(l5)''' 6)經過對li列表的切片造成新的列表l6,l6 = ["b","a",3]'''# l6 = li[-3::-2]# print(l6)''' 20、寫代碼,有以下列表,按照要求實現每個功能。'''''' lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]'''# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]''' 1)將列表lis中的"tt"變成大寫(用兩種方式)。'''# lis[3][2][1][0] = lis[3][2][1][0].upper()# lis[3][2][1][0] = "TT"''' 2)將列表中的數字3變成字符串"100"(用兩種方式)。'''# lis[3][2][1][1] = "100"# lis[3][2][1].pop(1)# lis[3][2][1].insert(1, "100")''' 3)將列表中的字符串"1"變成數字101(用兩種方式)。'''# lis[3][2][1][2] = 101# lis[3][2][1].pop(2)# lis[3][2][1].insert(2, 101)''' 2一、請用代碼實現: li = ["alex", "eric", "rain"] 利用下劃線將列表的每個元素拼接成字符串"alex_eric_rain"'''# li = ["alex", "eric", "rain"]# new_str = "_".join(li)# print(new_str)''' 2二、利用for循環和range打印出下面列表的索引. li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# for i in range(len(li)):# print(i)''' 2三、利用for循環和range找出100之內全部的偶數並將這些偶數插入到一個新列表中。'''# li = []# for num in range(0,101,2):# li.append(num)# print(li)''' 2四、利用for循環和range 找出50之內能被3整除的數,並將這些數插入到一個新列表中。'''# li = []# for i in range(50):# if i % 3 == 0:# li.append(i)# print(li)''' 2五、利用for循環和range從100~1,倒序打印。'''# for i in range(100,0,-1):# print(i)''' 2六、利用for循環和range從100~10,倒序將全部的偶數添加到一個新列表中,而後對列表的元素進行篩選,將能被4整除的數留下來。'''# li = []# for i in range(100, 9, -2):# li.append(i)# for num in li:# if num % 4 != 0:# li.remove(num)# print(li)''' 2六、利用for循環和range,將1-30的數字一次添加到一個列表中,並循環這個列表,將能被3整除的數改爲*。'''# li = []# for i in range(1,31):# li.append(i)# for num in li:# if num % 3 == 0:# li[li.index(num)] = "*"# print(li)''' 2七、查找列表li中的元素,移除每一個元素的空格,並找出以"A"或者"a"開頭,並以"c"結尾的全部元素,並添加到一個新列表中,最後循環打印這個新列表。''' # li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]# li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]# li_new = []# for i in li:# i = i.strip()# if i[0].lower() == "a" and i[-1] == "c":# li_new.append(i)# for s in li_new:# print(s)''' 2八、開發敏感詞語過濾程序,提示用戶輸入評論內容,若是用戶輸入的內容中包含特殊的字符: 敏感詞列表 li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣"] 則將用戶輸入的內容中的敏感詞彙替換成等長度的*(蒼老師就替換***),並添加到一個列表中;若是用戶輸入的內容沒有敏感詞彙,則直接添加到上述的列表中。'''# li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣"]# li_new = []# content = input("請輸入評論: ")# if content in li:# li_new.append("*" * len(content))# else:# li_new.append(content)# print(li_new)''' 2九、有以下變量(tu是個元祖),請實現要求的功能''' # tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])''' a. 講述元祖的特性'''# 元組是隻讀列表,不能增、刪、改,只能查。''' b. 請問tu變量中的第一個元素 "alex" 是否可被修改?'''# 不能''' c. 請問tu變量中的"k2"對應的值是什麼類型?是否能夠被修改?若是能夠,請在其中添加一個元素 "Seven"'''# 列表,能夠被修改。# tu[1][2]["k2"].append("Seven")# print(tu)''' d. 請問tu變量中的"k3"對應的值是什麼類型?是否能夠被修改?若是能夠,請在其中添加一個元素 "Seven"'''# 元組,不能夠被修改。''' 30、字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}'''dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}''' a. 請循環輸出全部的key'''# for key in dic.keys():# print(key)''' b. 請循環輸出全部的value'''# for value in dic.values():# print(value)''' c. 請循環輸出全部的key和value'''# for k,v in dic.items():# print(k, v)''' d. 請在字典中添加一個鍵值對,"k4": "v4",輸出添加後的字典'''# dic["k4"] = "v4"# print(dic)''' e. 請在修改字典中 "k1" 對應的值爲 "alex",輸出修改後的字典'''# dic["k1"] = "alex"# print(dic)''' f. 請在k3對應的值中追加一個元素 44,輸出修改後的字典'''# dic["k3"].append(44)# print(dic)''' g. 請在k3對應的值的第 1 個位置插入個元素 18,輸出修改後的字典'''# dic["k3"].insert(0, 18)# print(dic)''' 3一、av_catalog = { "歐美":{ "www.youporn.com": ["不少免費的,世界最大的","質量通常"], "www.pornhub.com": ["不少免費的,也很大","質量比yourporn高點"], "letmedothistoyou.com": ["可能是自拍,高質量圖片不少","資源很少,更新慢"], "x-art.com":["質量很高,真的很高","所有收費,屌絲請繞過"] }, "日韓":{ "tokyo-hot":["質量怎樣不清楚,我的已經不喜歡日韓範了","verygood"] }, "大陸":{ "1024":["所有免費,真好,好人一輩子平安","服務器在國外,慢"] } }'''av_catalog = { "歐美":{ "www.youporn.com": ["不少免費的,世界最大的","質量通常"], "www.pornhub.com": ["不少免費的,也很大","質量比yourporn高點"], "letmedothistoyou.com": ["可能是自拍,高質量圖片不少","資源很少,更新慢"], "x-art.com":["質量很高,真的很高","所有收費,屌絲請繞過"] }, "日韓":{ "tokyo-hot":["質量怎樣不清楚,我的已經不喜歡日韓範了","verygood"] }, "大陸":{ "1024":["所有免費,真好,好人一輩子平安","服務器在國外,慢"] }}''' a,給此 ["不少免費的,世界最大的","質量通常"]列表第二個位置插入一個 元素:'量很大'。'''# av_catalog["歐美"]["www.youporn.com"].insert(1, "量很大")# print(av_catalog)''' b,將此 ["質量很高,真的很高","所有收費,屌絲請繞過"]列表的 "所有收費,屌絲請繞過" 刪除。'''# av_catalog["歐美"]["x-art.com"].pop(1)# print(av_catalog)''' c,將此 ["質量很高,真的很高","所有收費,屌絲請繞過"]列表的 "所有收費,屌絲請繞過" 刪除。'''# av_catalog["歐美"]["x-art.com"].pop(1)# print(av_catalog)''' d,將此["質量怎樣不清楚,我的已經不喜歡日韓範了","verygood"]列表的 "verygood"所有變成大寫。'''# av_catalog["日韓"]["tokyo-hot"][1] = av_catalog["日韓"]["tokyo-hot"][1].upper()# print(av_catalog)''' e,給 '大陸' 對應的字典添加一個鍵值對 '1048' :['一天就封了']'''# av_catalog["大陸"]["1048"] = ['一天就封了']# print(av_catalog)''' f,刪除此"letmedothistoyou.com": ["可能是自拍,高質量圖片不少","資源很少,更新慢"]鍵值對。'''# av_catalog["歐美"].pop("letmedothistoyou.com")# print(av_catalog)''' g,給此["所有免費,真好,好人一輩子平安","服務器在國外,慢"]列表的第一個元素,加上一句話:'能夠爬下來' '''''' 3二、有字符串"k:1|k1:2|k2:3|k3:4" 處理成字典 {'k':1,'k1':2....}'''# d = {}# s = "k:1|k1:2|k2:3|k3:4"# s1 = s.split("|")# for i in s1:# a = i.split(":")# d[a[0]] = a[1]# print(d)''' 3三、元素分類 有以下值li= [11,22,33,44,55,66,77,88,99,90],將全部大於 66 的值保存至字典的第一個key中,將小於 66 的值保存至第二個key的值中。 即: {'k1': 大於66的全部值列表, 'k2': 小於66的全部值列表}'''# li = [11,22,33,44,55,66,77,88,99,90]# dic={"k1":[], "k2":[]}# for i in li:# if i > 66:# dic["k1"].append(i)# elif i < 66:# dic["k2"].append(i)# print(dic)'''做業:購物車 1. 用戶先給本身的帳戶充錢:好比先充3000元。 2. 頁面顯示 序號 + 商品名稱 + 商品價格,如: 1 電腦 1999 2 鼠標 10 … n 購物車結算 3. 用戶輸入選擇的商品序號,而後打印商品名稱及商品價格,並將此商品,添加到購物車,用戶還可繼續添加商品。 4. 若是用戶輸入的商品序號有誤,則提示輸入有誤,並從新輸入。 5. 用戶輸入n爲購物車結算,依次顯示用戶購物車裏面的商品,數量及單價,若充值的錢數不足,則讓用戶刪除某商品,直至能夠購買,若充值的錢數充足,則能夠直接購買。 6. 用戶輸入Q或者q退出程序。 7. 退出程序以後,依次顯示用戶購買的商品,數量,單價,以及這次共消費多少錢,帳戶餘額多少。'''# # 商品信息# goods = {"1":{"name":"電腦", "price":1999},# "2":{'name':"鼠標", 'price':50},# "3":{'name':"鍵盤", 'price':100}# }## # 購物車# shopping_cart = {}## # 充值金額判斷# while 1:# money = input("請輸入您要充值的金額: ")# if money.isdigit():# print("充值成功,帳戶現存金額%s" % money)# break# else:# print("非法字符,請從新輸入")## while True:# for i in goods:# print(i, goods[i]["name"], goods[i]["price"])# num = input("請輸入您要購買的商品編號或者輸入n結算或者按Q(q)退出: ")# if num in goods:# count = shopping_cart.setdefault(num,0)# shopping_cart[num] = count + 1## elif num == "n":# print("開始結算")# consum_money = 0# for a in shopping_cart:# consum_money += goods[a]["price"]*shopping_cart[a] # 計算消費總額# if consum_money > int(money):# for i in shopping_cart:# print(i, goods[i]['name'], shopping_cart[i], goods[i]['price'])# del_num = input("餘額不足,請選擇要刪除多餘的商品編號:")# if del_num in shopping_cart:# shopping_cart[del_num] = shopping_cart[del_num] - 1 #減小商品# if shopping_cart[del_num] == 0:# shopping_cart.pop(del_num)# else:# print("本次消費記錄以下")# for i in shopping_cart:# print(goods[i]['name'], shopping_cart[i], goods[i]['price'])# surplus_money = int(money) - consum_money # 計算餘額# print("這次共消費%s,帳戶餘額%s" % (consum_money, surplus_money))# break# elif num.lower() == "q":# print("歡迎下次光臨")# break## else:# print("您輸入的商品不存在")# continue