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)
python3 练习题 day02的更多相关文章
- Python3练习题系列(09)——物以类聚,人以群分
目标: 用类管理同类事物 解析: 用到“class”的编程语言被称作“Object Oriented Programming(面向对象编程)”语言.首先你需要做出“东西”来,然后你“告诉”这些东西去完 ...
- 【Python3练习题 025】 一个数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同
[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同 x = input('请输入任意位数的数字:') if x == x[::-1]: ...
- 【Python3练习题 009】 打印出所有的“水仙花数”
# [Python练习题 009] 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,# 其各位数字立方和等于该数本身.例如:153是一个“水仙花数”,# 因为153=1的三次方+5的三次方+ ...
- # 【Python3练习题 004】输入某年某月某日,判断这一天是这一年的第几天?
# [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? # 思路:先判断是否为闰年,这关系到 2 月份的天数.# 之后再根据月份值把前几个月的天数累积加起来,最后再加上个“日 ...
- 【Python3练习题 002】企业发放的奖金根据利润提成
# [Python练习题 002]企业发放的奖金根据利润提成.# 利润(I)低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分, ...
- Python3练习题 001:4个数字求不重复的3位数
#Python练习题 001:4个数字求不重复的3位数#方法一import itertoolsres = [][res.append(i[0]*100 + i[1]*10 + i[2]) for i ...
- python3 练习题 day01
#练习题:'''1.简述变量命名规范'''#变量名由数字.字母.下划线组成#变量名可以字母和下划线开头,不能以数字开头,并且不能全为数字#变量名不能太长,且要有意义#最好使用驼峰或下划线格式命令#变量 ...
- Python3练习题系列(10)——项目骨架构建
目标: 如何创建<项目“骨架”目录> 包含:项目文件布局.自动化测试代码,模组,以及安装脚本. 由于编写一个Python文件可以作为一个模块,一个带__init__.py的目录算一个包. ...
- Python3练习题系列(06)——各种符号总结
Python3中的各种符号总结 1关键字 import keyword print(keyword.kwlist, end='\t') ['False', 'None', 'True', 'and', ...
随机推荐
- Java高级类特性(二)
一.static关键字 static关键字用来声明成员属于类,而不是属于类的对象.1). static (类)变量类变量可以被类的所有对象共享,以便与不共享的成员变量区分开来. static变量也称作 ...
- 【redis】7、redis用法总结
Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 一.redis优点 Redis支持数据的持久化,可以将内存中 ...
- 【协议】5、gossip 协议
Gossip是一种去中心化.容错并保证最终一致性的协议. Background:分布式环境 Gossip是为了解决分布式遇到的问题而设计的.由于服务和数据分布在不同的机器上,节点之间的每次交互都伴随着 ...
- 【Java面试】1、基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充. 源码分享:https: ...
- Apollo源码阅读笔记(二)
Apollo源码阅读笔记(二) 前面 分析了apollo配置设置到Spring的environment的过程,此文继续PropertySourcesProcessor.postProcessBeanF ...
- C#中构造函数的定义
C#构造函数是在创建给定类型的对象时执行的类方法.构造函数具有与类相同的名称,它通常初始化新对象的数据成员.不带参数的构造函数称为"默认构造函数". 无论何时,只要使用 new 运 ...
- linux中cut、printf、awk、sed命令
cut.printf.awk.sed在linux中都是用来处理文本的命令,接下来一个一个看. 一.cut命令 cut [选项] 文件名 选项: 主要使用一下两个参数,若是只使用 -f 则默认的分割符为 ...
- canvas-star2.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python 多线程、多进程 (三)之 线程进程对比、多进程
Python 多线程.多进程 (一)之 源码执行流程.GIL Python 多线程.多进程 (二)之 多线程.同步.通信 Python 多线程.多进程 (三)之 线程进程对比.多线程 一.多线程与多进 ...
- npm install权限问题,报错:permission denied。
1.部署gulp项目时,nodeJs和gulp都已经正确安装,在项目内部执行npm install命令时,有些gulp的插件一直下载不成功,报错几种以下错误: “gulp-imagemin: Coul ...