python3 练习题 day02
生活随笔
收集整理的這篇文章主要介紹了
python3 练习题 day02
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
'''1、有變量name = "aleX leNb" 完成如下操作:
1)??移除?name?變量對應的值兩邊的空格,并輸出處理結果
2)??移除name變量左邊的"al"并輸出處理結果
3)??移除name變量右面的"Nb",并輸出處理結果
4)??移除name變量開頭的a"與最后的"b",并輸出處理結果
5)??判斷?name?變量是否以?"al"?開頭,并輸出結果
6)??判斷name變量是否以"Nb"結尾,并輸出結果
7)??將?name?變量對應的值中的?所有的"l"?替換為?"p",并輸出結果?
8)??將name變量對應的值中的第一個"l"替換成"p",并輸出結果
9)??將?name?變量對應的值根據?所有的"l"?分割,并輸出結果。
10)?將name變量對應的值根據第一個"l"分割,并輸出結果。?
11)?將?name?變量對應的值變大寫,并輸出結果
12)?將?name?變量對應的值變小寫,并輸出結果
13)?將name變量對應的值首字母"a"大寫,并輸出結果
14)?判斷name變量對應的值字母"l"出現幾次,并輸出結果
15)?如果判斷name變量對應的值前四位"l"出現幾次,并輸出結果
16)?從name變量對應的值中找到"N"對應的索引(如果找不到則報錯),并輸出結果
17)?從name變量對應的值中找到"N"對應的索引(如果找不到則返回‐1)輸出結果
18)?從name變量對應的值中找到"X?le"對應的索引,并輸出結果
19)?請輸出?name?變量對應的值的第?2?個字符??
20)?請輸出?name?變量對應的值的前?3?個字符??
21)?請輸出?name?變量對應的值的后?2?個字符?
22)?請輸出?name?變量對應的值中?"e"?所在索引位置?
'''
# name = "aleX leNb"
# print(name.strip()) #1).
# print(name[2:]) #2).
# print(name[:-2]) #3).
# print(name[1:-1]) #4).
# print(name.startswith('al')) #5).
# print(name.endswith('Nb')) #6).
# print(name.replace('l', 'p')) #7).
# print(name.replace('l', 'p', 1)) #8).
# print(name.split('l')) #9).
# print(name.split('l', 1)) #10).
# print(name.upper()) #11).
# print(name.lower()) #12).
# print(name.capitalize()) #13).
# print(name.count('l')) #14).
# print(name.count('l', 0, 4)) #15).
# print(name.index('N')) #16).
# print(name.find('N')) #17).
# print(name.find('X le')) #18).
# print(name[1:2]) #19).
# print(name[2:3]) #20).
# print(name[-2:]) #21).
# print(name.find('e')) #22).
'''
2、有字符串s = "123a4b5c"
1)通過對s切片形成新的字符串s1,s1?=?"123"
2)通過對s切片形成新的字符串s2,s2?=?"a4b"
3)通過對s切片形成新的字符串s3,s3?=?"1345"
4)通過對s切片形成字符串s4,s4?=?"2ab"
5)通過對s切片形成字符串s5,s5?=?"c"
6)通過對s切片形成字符串s6,s6?=?"ba2"
'''
# s = "123a4b5c"
# s1 = s[:3] #1).
# print(s1)
# s2 = s[3:6] #2).
# print(s2)
# s3 = s[::2] #3).
# print(s3)
# s4 = s[1:6:2] #4).
# print(s4)
# s5 = s[-1:] #5).
# print(s5)
# s6 = s[-3::-2] #6).
# print(s6)
'''
3、使用while或for循環分別打印字符串s="asdfer"中每個元素。
'''
# s = "asdfer" #while循環
# i = 0
# while i < len(s):
# print(s[i])
# i += 1
'''
for循環
'''
# s = "asdfer"
# for item in s:
# print(item)
'''
4、使用for循環對s="asdfer"進行循環,但是每次打印的內容都是"asdfer"。
'''
# s = "asdfer"
# for item in s:
# print(s)
'''
5、使用for循環對s="abcdefg"進行循環,每次打印的內容是每個字符加上sb, 例如:asb, bsb,
csb,...gsb。
'''
# s = "abcdefg"
# for item in s:
# print("%ssb" % item)
'''
6、使用for循環對s="321"進行循環,打印的內容依次是:"倒計時3秒","倒計時2秒","倒計時1秒","出
發!"。
'''
# s = "321"
# for num in s:
# print("倒計時%s秒"%num)
# print("出發!")
'''
7、實現一個整數加法計算器(兩個數相加):
如:content?=?input("請輸入內容:")?用戶輸入:5+9或5+?9或5?+?9,然后進行分割再進行計算。
'''
# content = input("請輸入兩個數相加:") #方法一
# print(eval(content))
'''
方法二,使用split()
'''
# content = input("請輸入兩個數相加:")
# lst = content.split('+')
# Sum = 0
# for item in lst:
# Sum += int(item.strip())
# print(Sum)
'''
8、升級題:實現一個整數加法計算器(多個數相加):
如:content?=?input("請輸入內容:")?用戶輸入:5+9+6 + 12+ 13,然后進行分割再進行計算。
'''
# content = input("請輸入多個數相加:") #方法一
# print(eval(content))
'''
方法二
'''
# content = input("請輸入多個數相加:")
# lst = content.split('+')
# Sum = 0
# for item in lst:
# Sum += int(item.strip())
# print(Sum)
'''
9、計算用戶輸入的內容中有幾個整數(以個位數為單位)。
如:content?=?input("請輸入內容:")???#?如fhdal234slfh98769fjdla
'''
# content = input("請輸入內容:").strip()
# num = 0
# for item in content:
# if item.isdigit():
# num += 1
# print("您一共輸入了"+str(num)+"個整數")
'''
10、寫代碼,完成下列需求:
用戶可持續輸入(用while循環),用戶使用的情況:
? 輸入A,則顯示走大路回家,然后在讓用戶進一步選擇:
? 是選擇公交車,還是步行?
? 選擇公交車,顯示10分鐘到家,并退出整個程序。
? 選擇步行,顯示20分鐘到家,并退出整個程序。
? 輸入B,則顯示走小路回家,并退出整個程序。
? 輸入C,則顯示繞道回家,然后在讓用戶進一步選擇:
? 是選擇游戲廳玩會,還是網吧?
? 選擇游戲廳,則顯示?‘一個半小時到家,爸爸在家,拿棍等你。’并讓其重新輸入A,B,C選項。
? 選擇網吧,則顯示‘兩個小時到家,媽媽已做好了戰斗準備。’并讓其重新輸入A,B,C選項。
'''
# Flag = True
# while Flag:
# user_choise = input("請輸入字母ABC中的一個(A:大路,B:小路,C:繞道): ").strip().upper()
# #判斷用戶輸入的是否為字母,并且是否是ABC其中的一個
# if user_choise.isalpha() and user_choise in "ABC":
# pass
# else:
# print("輸入有誤,請輸入字母'ABC'中的一個!")
# continue
#
# #根據用戶的選擇做出響應的操作,用戶選擇A的情況
# if user_choise == "A":
# print("走大路回家")
# while True:
# sel_way = input("您是選擇'公交車',還是'步行': ").strip()
# if sel_way == "公交車":
# print("10分鐘到家")
# Flag = False
# break
# elif sel_way == "步行":
# print("20分鐘到家")
# Flag = False
# break
# else:
# print("輸入有誤,您是選擇'公交車',還是'步行'")
# continue
# #用戶選擇B的情況
# elif user_choise == "B":
# print("走小路回家")
# break
# #用戶選擇C的情況
# else:
# print("繞道回家")
# while True:
# sel_play = input("請選擇'游戲廳'玩會,還是'網吧': ").strip()
# if sel_play == "游戲廳":
# print("一個半小時到家,爸爸在家,拿棍等你。")
# break
# elif sel_play == "網吧":
# print("兩個小時到家,媽媽已做好了戰斗準備。")
# break
# else:
# print("輸入有誤,請選擇'游戲廳'玩會,還是'網吧'")
# continue ? '''
11、寫代碼:計算 1 - 2 + 3 ... + 99 中除了88以外所有數的總和?
'''
# Sum = 0
# for num in range(1,100):
# if num == 88:
# continue
# if num%2 == 1:
# Sum += num
# else:
# Sum -= num
# print(Sum)
'''
16、制作趣味模板程序需求:等待用戶輸入名字、地點、愛好,根據用戶的名字和愛好進行任意現實
如:敬愛可親的xxx,最喜歡在xxx地方干xxx
'''
# username = input("請輸入您的姓名: ").strip()
# address = input("請輸入您的地址: ").strip()
# hobby = input("請輸入您的愛好: ").strip()
# print("敬愛可愛的%s,最喜歡在%s這個地方%s"%(username, address, hobby))
'''
17、等待用戶輸入內容,檢測用戶輸入內容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符請重
新輸入”,并允許用戶重新輸入并打印。敏感字符:“小粉嫩”、“大鐵錘”
'''
# while True: #方法一
# contents = input("請輸入您的內容: ")
# if "小粉嫩" in contents or "大鐵錘" in contents:
# print("存在敏感字符,請重新輸入您的內容!")
# continue
# else:
# print("您的內容: %s,發表成功!"%contents)
# break
'''
方法二 (列表,可用于檢測多個敏感字符的情況)
'''
# sensitive_lis = ["小粉嫩", "大鐵錘"] #
# contents = input("請輸入您的內容: ")
# i = 0
# while i < len(sensitive_lis):
# if sensitive_lis[i] in contents:
# print("存在敏感字符,請重新輸入您的內容.")
# contents = input("請輸入您的內容: ")
# i = 0
# continue
# i += 1
# print("您的內容: %s,發表成功!"%contents) ? '''
18、寫代碼,有如下列表,按照要求實現每一個功能
li?=?["alex",?"WuSir",?"ritian",?"barry",?"wenzhou"]
1)計算列表的長度并輸出
2)列表中追加元素"seven",并輸出添加后的列表
3)請在列表的第1個位置插入元素"Tony",并輸出添加后的列表
4)請修改列表第2個位置的元素為"Kelly",并輸出修改后的列表
5)請將列表l2=[1,"a",3,4,"heart"]的每一個元素添加到列表li中,一行代碼實現,不允許循環添加。
6)請將字符串s?=?"qwert"的每一個元素添加到列表li中,一行代碼實現,不允許循環添加。
7)請刪除列表中的元素"eric",并輸出刪除后的列表
8)請刪除列表中的第2個元素,并輸出刪除的元素和刪除元素后的列表
9)請刪除列表中的第2至4個元素,并輸出刪除元素后的列表
10)請將列表所有得元素反轉,并輸出反轉后的列表
11)請計算出"alex"元素在列表li中出現的次數,并輸出該次數。
'''
# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# print(len(li)) #1).
# li.append("seven") #2).
# print(li)
# li.insert(0, "Tony") #3).
# print(li)
# li[1] = "Kelly" #4).
# print(li)
# l2 = [1, "a", 3, 4, "heart"] #5).
# li.extend(l2)
# s = "qwert" #6).
# li.extend(s)
# s2 = "eric" #7).
# for cou in range(li.count(s2)):
# li.remove(s2)
# print(li)
# s_del = li.pop(1) #8).
# print(s_del)
# print(li)
# del li[1:3] #9).
# print(li)
# li.reverse() #10).
# print(li)
# print(li.count("alex")) #11).
'''
19、寫代碼,有如下列表,利用切片實現每一個功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]
1)通過對li列表的切片形成新的列表l1,l1 = [1,3,2]
2)通過對li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
3)通過對li列表的切片形成新的列表l3,l3 = ["1,2,4,5]
4)通過對li列表的切片形成新的列表l4,l4 = [3,"a","b"]
5)通過對li列表的切片形成新的列表l5,l5 = ["c"]
6)通過對li列表的切片形成新的列表l6,l6 = ["b","a",3]
'''
# li = [1, 3, 2, "a", 4, "b", 5,"c"]
# l1 = li[:3] #1).
# print(l1)
# l2 = li[3:6] #2).
# print(l2)
# l3 = li[::2] #3).
# print(l3)
# l4 = li[1:6:2] #4).
# print(l4)
# l5 = li[-1:] #5).
# print(l5)
# l6 = li[-3::-2] #6).
# print(l6) '''
10、寫代碼,完成下列需求:
用戶可持續輸入(用while循環),用戶使用的情況:
? 輸入A,則顯示走大路回家,然后在讓用戶進一步選擇:
? 是選擇公交車,還是步行?
? 選擇公交車,顯示10分鐘到家,并退出整個程序。
? 選擇步行,顯示20分鐘到家,并退出整個程序。
? 輸入B,則顯示走小路回家,并退出整個程序。
? 輸入C,則顯示繞道回家,然后在讓用戶進一步選擇:
? 是選擇游戲廳玩會,還是網吧?
? 選擇游戲廳,則顯示?‘一個半小時到家,爸爸在家,拿棍等你。’并讓其重新輸入A,B,C選項。
? 選擇網吧,則顯示‘兩個小時到家,媽媽已做好了戰斗準備。’并讓其重新輸入A,B,C選項。
'''
# Flag = True
# while Flag:
# user_choise = input("請輸入字母ABC中的一個(A:大路,B:小路,C:繞道): ").strip().upper()
# #判斷用戶輸入的是否為字母,并且是否是ABC其中的一個
# if user_choise.isalpha() and user_choise in "ABC":
# pass
# else:
# print("輸入有誤,請輸入字母'ABC'中的一個!")
# continue
#
# #根據用戶的選擇做出響應的操作,用戶選擇A的情況
# if user_choise == "A":
# print("走大路回家")
# while True:
# sel_way = input("您是選擇'公交車',還是'步行': ").strip()
# if sel_way == "公交車":
# print("10分鐘到家")
# Flag = False
# break
# elif sel_way == "步行":
# print("20分鐘到家")
# Flag = False
# break
# else:
# print("輸入有誤,您是選擇'公交車',還是'步行'")
# continue
# #用戶選擇B的情況
# elif user_choise == "B":
# print("走小路回家")
# break
# #用戶選擇C的情況
# else:
# print("繞道回家")
# while True:
# sel_play = input("請選擇'游戲廳'玩會,還是'網吧': ").strip()
# if sel_play == "游戲廳":
# print("一個半小時到家,爸爸在家,拿棍等你。")
# break
# elif sel_play == "網吧":
# print("兩個小時到家,媽媽已做好了戰斗準備。")
# break
# else:
# print("輸入有誤,請選擇'游戲廳'玩會,還是'網吧'")
# continue
'''
11、寫代碼:計算 1 - 2 + 3 ... + 99 中除了88以外所有數的總和?
'''
# Sum = 0
# for num in range(1,100):
# if num == 88:
# continue
# if num%2 == 1:
# Sum += num
# else:
# Sum -= num
# print(Sum)
'''
16、制作趣味模板程序需求:等待用戶輸入名字、地點、愛好,根據用戶的名字和愛好進行任意現實
如:敬愛可親的xxx,最喜歡在xxx地方干xxx
'''
# username = input("請輸入您的姓名: ").strip()
# address = input("請輸入您的地址: ").strip()
# hobby = input("請輸入您的愛好: ").strip()
# print("敬愛可愛的%s,最喜歡在%s這個地方%s"%(username, address, hobby))
'''
17、等待用戶輸入內容,檢測用戶輸入內容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符請重
新輸入”,并允許用戶重新輸入并打印。敏感字符:“小粉嫩”、“大鐵錘”
'''
# while True: #方法一
# contents = input("請輸入您的內容: ")
# if "小粉嫩" in contents or "大鐵錘" in contents:
# print("存在敏感字符,請重新輸入您的內容!")
# continue
# else:
# print("您的內容: %s,發表成功!"%contents)
# break
'''
方法二 (列表,可用于檢測多個敏感字符的情況)
'''
# sensitive_lis = ["小粉嫩", "大鐵錘"] #
# contents = input("請輸入您的內容: ")
# i = 0
# while i < len(sensitive_lis):
# if sensitive_lis[i] in contents:
# print("存在敏感字符,請重新輸入您的內容.")
# contents = input("請輸入您的內容: ")
# i = 0
# continue
# i += 1
# print("您的內容: %s,發表成功!"%contents) ? '''
20、寫代碼,有如下列表,按照要求實現每一個功能。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
1)將列表lis中的"tt"變成大寫(用兩種方式)。
2)將列表中的數字3變成字符串"100"(用兩種方式)。
3)將列表中的字符串"1"變成數字101(用兩種方式)。
'''
# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"] #1)方法一
# lis[3][2][1][0] = lis[3][2][1][0].upper()
# print(lis)
'''
1)方法二
'''
# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# lis[3][2][1].pop(0)
# lis[3][2][1].insert(0, "TT")
# print(lis)
'''
1)方法三 遞歸調用
'''
# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# def edit_value(lis_p, old_v, new_v):
# for ind, item in enumerate(lis_p):
# if type(item) is list:
# edit_value(item, old_v, new_v)
# else:
# if item == old_v:
# lis_p[ind] = new_v
# edit_value(lis, "tt", "TT")
# print(lis)
'''
2)方法一
'''
# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# lis[1] = "100"
# lis[3][2][1][1] = "100"
# print(lis)
'''
2)方法二
'''
# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# lis.pop(1)
# lis.insert(1, "100")
# lis[3][2][1].pop(1)
# lis[3][2][1].insert(1, "100")
# print(lis)
'''
3)方法一
'''
# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# lis[3][2][1][2] = 101
# print(lis)
'''
3)方法二
'''
# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# lis[3][2][1].pop(2)
# lis[3][2][1].insert(2, 101)
# print(lis)
'''
21、請用代碼實現:
li = ["alex", "eric", "rain"]
利用下劃線將列表的每一個元素拼接成字符串"alex_eric_rain"
'''
# li = ["alex", "eric", "rain"]
# print("_".join(li))
'''
22、利用for循環和range打印出下面列表的索引。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
'''
# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# for i in range(len(li)):
# print("元素'%s'的索引是: %d"%(li[i], i))
'''
23、利用for循環和range找出100以內所有的偶數并將這些偶數插入到一個新列表中。
'''
# lis = []
# for i in range(2, 101):
# if i%2 == 0:
# lis.append(i)
# print(lis)
'''
24、利用for循環和range 找出50以內能被3整除的數,并將這些數插入到一個新列表中。
'''
# lis = []
# for i in range(3, 50):
# if i%3 == 0:
# lis.append(i)
# print(lis) ?
?
'''25、利用for循環和range從100~1,倒序打印。
'''
# for i in range(100, 0, -1):
# print(i)
'''
26、利用for循環和range從100~10,倒序將所有的偶數添加到一個新列表中,然后對列表的元素進行篩
選,將能被4整除的數留下來。
'''
# lis = []
# for i in range(100, 9, -1):
# if i%2 == 0:
# lis.append(i)
# if i%4 != 0:
# lis.remove(i)
# print(lis)
'''
26、利用for循環和range,將1-30的數字一次添加到一個列表中,并循環這個列表,將能被3整除的數改
成*。
'''
# lis = []
# for i in range(1, 31):
# if i%3 == 0:
# i = '*'
# lis.append(i)
# print(lis)
'''
27、查找列表li中的元素,移除每個元素的空格,并找出以"A"或者"a"開頭,并以"c"結尾的所有元素,并添
加到一個新列表中,最后循環打印這個新列表。
li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]
'''
# li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]
# lis = []
# for item in li:
# item = item.strip()
# if item.upper().startswith('A') and item.endswith('c'):
# lis.append(item)
# for item in lis:
# print(item)
'''
28、開發敏感詞語過濾程序,提示用戶輸入評論內容,如果用戶輸入的內容中包含特殊的字符:
敏感詞列表 li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣"]
則將用戶輸入的內容中的敏感詞匯替換成等長度的*(蒼老師就替換***),并添加到一個列表中;如果用戶輸入
的內容沒有敏感詞匯,則直接添加到上述的列表中。
'''
# li = ["蒼老師", "東京熱", "武藤蘭", "波多野結衣"]
# lis = []
# contents = input("請輸入評論內容:").strip()
# for item in li:
# if item in contents:
# contents = contents.replace(item, '*'*len(item))
# lis.append(contents)
# print(lis)
'''
29、有如下變量(tu是個元祖),請實現要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a. 講述元祖的特性
b. 請問tu變量中的第一個元素 "alex" 是否可被修改?
c. 請問tu變量中的"k2"對應的值是什么類型?是否可以被修改?如果可以,請在其中添加一個元素
"Seven"
d. 請問tu變量中的"k3"對應的值是什么類型?是否可以被修改?如果可以,請在其中添加一個元素
"Seven"
'''
# tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
#a.元組是不可改變的列表
#b.不可修改
#c.列表,可修改
# tu[1][2]['k2'].append('Seven')
# print(tu)
#d.元組,不可修改
'''
30、字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
a. 請循環輸出所有的key
b. 請循環輸出所有的value
c. 請循環輸出所有的key和value
d. 請在字典中添加一個鍵值對,"k4": "v4",輸出添加后的字典
e. 請在修改字典中 "k1" 對應的值為 "alex",輸出修改后的字典
f. 請在k3對應的值中追加一個元素 44,輸出修改后的字典
g. 請在k3對應的值的第 1 個位置插入個元素 18,輸出修改后的字典
'''
# dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
# for k in dic.keys(): #a.
# print(k)
# for v in dic.values(): #b.
# print(v)
# for k, v in dic.items(): #c.
# print(k, ':', v)
# dic.setdefault("k4", "v4") #d.
# print(dic)
# dic["k1"] = "alex" #e.
# print(dic)
# dic["k3"].append(44) #f.
# print(dic)
# dic['k3'].insert(0, 18) #g.
# print(dic)
?
?
'''31、如下
av_catalog = {
"歐美":{
"www.youporn.com": ["很多免費的,世界最大的","質量一般"],
"www.pornhub.com": ["很多免費的,也很大","質量比yourporn高點"],
"letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"],
"x‐art.com":["質量很高,真的很高","全部收費,屌絲請繞過"]
},
"日韓":{
"tokyo‐hot":["質量怎樣不清楚,個人已經不喜歡日韓范了","verygood"]
},
"大陸":{
"1024":["全部免費,真好,好人一生平安","服務器在國外,慢"]
}
}
a,給此 ["很多免費的,世界最大的","質量一般"]列表第二個位置插入一個 元素:'量很大'。
b,將此 ["質量很高,真的很高","全部收費,屌絲請繞過"]列表的 "全部收費,屌絲請繞過" 刪除。
c,將此 ["質量很高,真的很高","全部收費,屌絲請繞過"]列表的 "全部收 費,屌絲請繞過" 刪除。
d,將此["質量怎樣不清楚,個人已經不喜歡日韓范了","verygood"]列表的 "verygood"全部變成大寫。
e,給 '大陸' 對應的字典添加一個鍵值對 '1048' :['一天就封了']
f,刪除此"letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"]鍵值對。
g,給此["全部免費,真好,好人一生平安","服務器在國外,慢"]列表的第一個元素,加上一句話:'可以爬下來'
'''
# av_catalog = {
# "歐美":{
# "www.youporn.com": ["很多免費的,世界最大的","質量一般"],
# "www.pornhub.com": ["很多免費的,也很大","質量比yourporn高點"],
# "letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"],
# "x‐art.com":["質量很高,真的很高","全部收費,屌絲請繞過"]
# },
# "日韓":{
# "tokyo‐hot":["質量怎樣不清楚,個人已經不喜歡日韓范了","verygood"]
# },
# "大陸":{
# "1024":["全部免費,真好,好人一生平安","服務器在國外,慢"]
# }
# }
# av_catalog["歐美"]["www.youporn.com"].insert(1, "量很大") #a.
# print(av_catalog)
# av_catalog["歐美"]["x‐art.com"].pop() #b).
# print(av_catalog)
# if av_catalog["歐美"]["x‐art.com"].count("全部收 費,屌絲請繞過") != 0: #c).
# av_catalog["歐美"]["x‐art.com"].remove("全部收 費,屌絲請繞過")
# print(av_catalog)
# av_catalog["日韓"]["tokyo‐hot"][1] = av_catalog["日韓"]["tokyo‐hot"][1].upper() #d).
# print(av_catalog)
# av_catalog["大陸"].setdefault("1048", ["一天就封了"]) #e).
# print(av_catalog)
# av_catalog["歐美"].pop("letmedothistoyou.com") #f).
# print(av_catalog)
# av_catalog["大陸"]["1024"][0] = "可以爬下來," + av_catalog["大陸"]["1024"][0] #g).
# print(av_catalog)
'''
32、有字符串"k:1|k1:2|k2:3|k3:4" 處理成字典 {'k':1,'k1':2....}
'''
# s = "k:1|k1:2|k2:3|k3:4"
# dic = {}
# for item in s.split("|"):
# k,v = item.split(":")
# dic.setdefault(k, int(v))
# print(dic)
'''
33、元素分類
有如下值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 num in li:
# if num > 66:
# dic['k1'].append(num)
# elif num < 66:
# dic['k2'].append(num)
# else:
# continue
# print(dic)
'''
方式二
'''
# li = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
# dic = {}
# for num in li:
# if num > 66:
# dic.setdefault("k1", []).append(num)
# elif num < 66:
# dic.setdefault("k2", []).append(num)
# else:
# continue
# print(dic)
?
?
'''寫代碼,有如下字典,按照要求實現每一個功能dic = {'k1':'v1', 'k2':'v2', 'k3':'v3'}
1.請循環遍歷出所有的 key
'''
# dic = {'k1':'v1', 'k2':'v2', 'k3':'v3'}
# for k in dic.keys():
# print(k)
'''
2.請循環遍歷出所有的 value
'''
# dic = {'k1':'v1', 'k2':'v2', 'k3':'v3'}
# for v in dic.values():
# print(v)
'''
3.請循環遍歷出所有的 key 和 value
'''
# dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
# for k, v in dic.items():
# print(k, v)
'''
4.請在字典中添加一個鍵值對, 'k4': 'v4',輸出添加后的字典
'''
# dic = {'k1':'v1', 'k2':'v2', 'k3':'v3'}
# # dic.setdefault('k4', 'v4')
# dic['k4'] = 'v4'
# print(dic)
'''
5.請刪除字典中鍵值對'k1':'v1',并輸出刪除后的字典
'''
# dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
# # del dic['k1']
# dic.pop('k1')
# print(dic)
'''
6.請刪除字典中的鍵'k5'對應的鍵值對,如果字典中不存在鍵'k5',則不報錯,并且讓其返回None.
'''
# dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
# if dic.get("k5") != None:
# del dic['k5']
# else:
# print(None)
'''
7.請獲取字典中'k2'對應的值.
'''
# dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
# print(dic['k2'])
'''
8.請獲取字典中'k6'對應的值,如果鍵'k6'不存在,則不報錯,并且讓其返回None.
'''
# dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
# if dic.get("k6") != None:
# print(dic['k6'])
# else:
# print(None)
'''
9.現有 dic2 = {'k1': 'v1', 'a': 'b'}通過一行操作使 dic2 = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'a': 'b'}
'''
# dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
# dic2 = {'k1': 'v111', 'a': 'b'}
# dic2.update(dic)
# print(dic2)
'''
10.組合嵌套題.寫代碼,有如下列表,按照要求實現每一個功能
lis = [['k', ['qwe', 20, {'k1':['tt', 3, '1']}, 89], 'ab']]
1).將列表lis 中的'tt'變成大寫(用兩種方式).
2).將列表中的數字3編程字符串'100'(用兩種方式).
3).將列表中的字符串'1'變成數字101(用兩種方式).
'''
# lis = [['k', ['qwe', 20, {'k1': ['tt', 3, '1']}, 89], 'ab']] #1).
# def edit_value(lis_i, old_v, new_v):
# for ind,item in enumerate(lis_i):
# if type(item) is list:
# edit_value(item, old_v, new_v)
# elif type(item) is dict:
# for v in item:
# edit_value(item[v], old_v, new_v)
# else:
# if item == old_v:
# lis_i[ind] = new_v
# break
# edit_value(lis, 3, '100')
# print(lis)
# lis[0][1][2]['k1'][0] = "TT"
# lis[0][1][2]['k1'][0] = lis[0][1][2]['k1'][0].upper()
# print(lis)
# lis[0][1][2]['k1'][1] = "100" #2).
# print(lis)
# lis[0][1][2]['k1'].remove(3)
# lis[0][1][2]['k1'].insert(1, '100')
# print(lis)
# lis[0][1][2]['k1'][2] = 101 #3).
# print(lis)
# lis[0][1][2]['k1'].remove('1')
# lis[0][1][2]['k1'].insert(2, 101)
# print(lis)
'''
11.按照要求實現如下功能:
現有一個列表 li = [1,2,3, 'a', 'b', 4, 'c'],有一個字典(此字典是動態生成的,你并不知道他里面有多少鍵值對,所以用 dic =
{}模擬此字典);現在需要完成這樣的操作:如果該字典沒有'k1'這個鍵,那就創建這個'k1'鍵和其對應的值(該鍵對應的值設置為空列
表),并將列表 li 中的索引位為奇數對應的元素,添加到'k1'這個鍵對應的空列表中.如果該字典中有'k1'這個值,且k1對應的value
是列表類型,那就將列表 li中的索引位為奇數對應的元素,添加到'k1'這個鍵對應的值中.
'''
# li = [1, 2, 3, 'a', 'b', 4, 'c']
# dic = {}
# dic.setdefault('k1', [])
# for ind, item in enumerate(li):
# if ind % 2 == 1:
# dic['k1'].append(item)
# print(dic)
'''
1.請用代碼實現: 利用下劃線將列表的每一個元素拼接成字符串, li = ["alex", "eric", "rain"]
'''
# li = ["alex", "eric", "rain"]
# s = "_".join(li)
# print(s)
'''
9.元素分類
有如下值集合[11, 22, 33, 44, 55, 66, 77, 88, 99, 90],將所有大于66的值保存至字典的第一個key中,將小于66的值
保存至第二個key的值中.
即: {'k1':大于66的所有值, 'k2':小于66的所有值}
'''
# lst = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
# dic = {'k1': [], 'k2': []}
# for item in lst:
# if item > 66:
# dic['k1'].append(item)
# elif item < 66:
# dic['k2'].append(item)
# print(dic)
'''
14. 利用for循環和range輸出
.for循環從大到小的輸出1-100
'''
# for i in range(1, 101):
# print(i)
'''
.for循環從小到大輸出100-1
'''
# for i in range(100, 0, -1):
# print(i)
'''
.while循環從大到小輸出100-1
'''
# count = 100
# while count >= 1:
# print(count)
# count -= 1
'''
.while循環從小到大輸出1-100
'''
# count = 1
# while count < 101:
# print(count)
# count += 1
'''
.在不改變列表數據結構的情況下找最大值li = [1, 3, 2, 7, 6, 23, 41, 243, 33, 85, 56]
'''
# li = [1, 3, 2, 7, 6, 23, 41, 243, 33, 85, 56]
# Max = li[0]
# for i in li:
# if Max < i:
# Max = i
# print(Max)
# print(li)
'''
.在不改變列表中數據排列結構的前提下,找出以下列表中最接近最大值和最小值的平均值的數
li = [-100, 1, 3, 2, 7, 6, 120, 121, 140, 23, 411, 99, 243, 33, 85, 56]
'''
# li = [-100, 1, 3, 2, 7, 6, 120, 121, 140, 23, 411, 99, 243, 33, 85, 56]
# #最大值和最小值
# Max = li[0]
# Min = li[0]
# for i in li:
# if Max < i:
# Max = i
# if Min > i:
# Min = i
#
# #最大數和最小數的平均值
# Average = (Max + Min)/2
# Min_v = li[0]
# for i in li:
# if abs(Average - i) < abs(Average - Min_v):
# Min_v = i
# print(Min_v)
'''
下面是一種比較好理解的方式
獲取每個元素和平均值相減,由差值取絕對值組成的列表
'''
# new_list = []
# for i in li:
# new_list.append(abs(i - Average))
#
# #獲取最小值和最小值的索引
# min_v = new_list[0]
# min_ind = 0
# for k, v in enumerate(new_list):
# if min_v > v:
# min_v = v
# min_ind = k
# print(li[min_ind])
'''
.利用for循環和range輸出9*9乘法表
'''
# for i in range(1, 10):
# s = ""
# for j in range(1, i+1):
# s += "%d*%d=%d " % (j, i, i*j)
# print(s)
'''
.求100以內的素數和.(編程題)
'''
# Sum = 0
# for i in range(2, 100):
# for j in range(2, i):
# if i % j == 0:
# break
# else:
# # print(i)
# Sum += i
# print(Sum)
轉載于:https://www.cnblogs.com/lilyxiaoyy/p/10685143.html
總結
以上是生活随笔為你收集整理的python3 练习题 day02的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机论文中期考核报告,计算机与人工智能
- 下一篇: 2017年迪培思昆明国际广告标识及LED