'''此文作者为金元''''''练习题: 1、有变量name = "aleX leNb" 完成如下操作:'''''' 1) 移除 name 变量对应的值两边的空格,并输出处理结果'''# name = " aleX leNb "# print(name.strip())''' 2) 移除name变量左边的"al"并输出处理结果''''''解法一'''# name = "aleX leNb"# print(name[2:])'''解法二'''# print(name.strip("al"))''' 3) 移除name变量右面的"Nb",并输出处理结果''''''解法一'''# name = "aleX leNb"# print(name[:-2])'''解法二'''# print(name.strip('Nb'))''' 4) 移除name变量开头的a"与最后的"b",并输出处理结果'''# name = "aleX leNb"# print(name[1:-1])''' 5) 判断name变量是否以 "al" 开头,并输出结果'''# name = "aleX leNb"# print(name.startswith('al'))''' 6) 判断name变量是否以"Nb"结尾,并输出结果'''# name = "aleX leNb"# print(name.endswith('Nb'))''' 7) 将name变量对应的值中的所有的"l" 替换为 "p",并输出结果'''# name = "aleX leNb"# print(name.replace('l','p'))''' 8) 将name变量对应的值中的第一个"l"替换成"p",并输出结果'''# name = "aleX leNb"# print(name.replace('l','p',1))''' 9) 将name变量对应的值根据所有的"l" 分割,并输出结果。'''# name = "aleX leNb"# print(name.rsplit('l'))''' 10) 将name变量对应的值根据第一个"l"分割,并输出结果。'''# name = "aleX leNb"# print(name.rsplit('l'))''' 11) 将name变量对应的值变大写,并输出结果'''# name = "aleX leNb"# print(name.upper())''' 12) 将name变量对应的值变小写,并输出结果'''# name = "aleX leNb"# print(name.lower())''' 13) 将name变量对应的值首字母"a"大写,并输出结果'''# name = "aleX leNb"# print(name.capitalize())''' 14) 判断name变量对应的值字母"l"出现几次,并输出结果'''# name = "aleX leNb"# print(name.count('l'))''' 15) 如果判断name变量对应的值前四位"l"出现几次,并输出结果'''# name = "aleX leNb"# print(name[:4].count('l'))''' 16) 从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果'''# name = "aleX leNb"# print(name.index('N'))''' 17) 从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果'''# name = "aleX leNb"# print(name.find('N'))''' 18) 从name变量对应的值中找到"X le"对应的索引,并输出结果'''# name = "aleX leNb"# print(name.find('X le'))''' 19) 请输出 name 变量对应的值的第 2 个字符?'''# name = "aleX leNb"# print(name[1])''' 20) 请输出 name 变量对应的值的前 3 个字符?'''# name = "aleX leNb"# print(name[2])''' 21) 请输出 name z变量对应的值的后 2 个字符?'''# name = "aleX leNb"# print(name[-2:])''' 22) 请输出 name 变量对应的值中 "e" 所在索引位置?'''# name = "aleX leNb"# print(name.find('e'),name.rfind('e'))'''2、有字符串s = "123a4b5c"'''''' 1)通过对s切片形成新的字符串s1,s1 = "123"'''# s = "123a4b5c"# s1 = s[:3]# print(s1)''' 2)通过对s切片形成新的字符串s2,s2 = "a4b"'''# s = "123a4b5c"# s2 = s[3:-2]# print(s2)''' 3)通过对s切片形成新的字符串s3,s3 = "1345"'''# s = "123a4b5c"# s3 = s[::2]# print(s3)''' 4)通过对s切片形成字符串s4,s4 = "2ab" '''# s = "123a4b5c"# s4 = s[1:-2:2]# print(s4)''' 5)通过对s切片形成字符串s5,s5 = "c" '''# s = "123a4b5c"# s5 = s[-1]# print(s5)''' 6)通过对s切片形成字符串s6,s6 = "ba2" '''# s = "123a4b5c"# s6 = s[-3::-2]# print(s6)'''3、使用while或for循环分别打印字符串s="asdfer"中每个元素。'''''' 1)while方法'''# s = "asdfer"# b = len(s)# a = 0# while a < b:# print(s[a])# a += 1''' 2)for方法'''# s = "asdfer"# for i in s:# print(i)''' 4、使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"。'''# s = "asdfer"# for i in s:# print(s)''' 5.使用for循环对s="abcdefg"进行循环,每次打印的内容是每个字符加上sb, 例如:asb, bsb,csb,...gsb。'''# s="abcdefg"# for i in s:# print(i+'sb')''' 6、使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。'''# s = '321'# for i in s:# print('倒计时'+i+'秒')# else:# print("出发")''' 7. 实现一个整数加法计算器(两个数相加) 如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。'''# num = input("请输入你相加的数字:").replace(' ','')# print(int(num[0])+int(num[2]))'''8、升级题:实现一个整数加法计算器(多个数相加) 如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。'''# content = input("请输入内容:").replace(' ','').replace('+','')# # print(content)# # a = []# # for i in content:# # a.append(int(i))# # print(sum(a))'''9、计算用户输入的内容中有几个整数(以个位数为单位)。 如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla'''# content = input("请输入内容:")# a = []# b = []# for i in content:# a.append(i)# for w in a:# if '0' <= w <= '9':# b.append(w)# print(len(b))''' 10、写代码,完成下列需求: 用户可持续输入(用while循环),用户使用的情况: 输入A,则显示走大路回家,然后在让用户进一步选择: 是选择公交车,还是步行? 选择公交车,显示10分钟到家,并退出整个程序。 选择步行,显示20分钟到家,并退出整个程序。 输入B,则显示走小路回家,并退出整个程序。 输入C,则显示绕道回家,然后在让用户进一步选择: 是选择游戏厅玩会,还是网吧? 选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。 选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。''''''解法一'''# while True:# num = input("你要怎么回家,提示A、B、C回家方法:").replace(' ','').upper()# if num == 'A':# print("显示走大路回家")# bus = input("你选择公交还是车还是步行,提示公交为1步行为2").replace(' ','')# if bus == '1':# print("10分钟到家")# break# elif bus == '2':# print("20分钟到家")# break# elif num == 'B':# print("显示走小路回家")# break# elif num == 'C':# gram = input("是选择游戏厅玩会,还是网吧?提示1网吧、2游戏厅").replace(' ','')# if gram == '1':# print("一个半小时到家,爸爸在家,拿棍等你。必须回家")# continue# elif gram == '2':# print("两个小时到家,妈妈已做好了战斗准备。必须回家")# continue# else:# print("找死啊,赶紧回家")'''解法二'''# dic = {'A': {'走大路回家': {"公交车": "10分钟到家", "步行": "20分钟到家"}},# 'B': {"直接回家": "10分钟到家"},# 'C': {'绕道回家': {'游戏厅': "一个半小时到家,爸爸在家,拿棍等你",# "网吧": "两个小时到家,妈妈已做好了战斗准备"}}}# while True:# for i in dic:# print(i, dic[i].keys())# num = input("你要怎么回家:")# if num == 'A':# bus = input("请选择公交还是步行1为公交、2为步行:")# if bus == '1':# print(dic['A']['走大路回家']['公交车'])# break# elif bus == '2':# print(dic['A']['走大路回家']['步行'])# break# elif num == 'B':# print(dic['B']['直接回家'])# break# elif num == 'C':# rao = input("你想先去游戏厅(1)还是网吧(2):")# if rao == '1':# print(dic['C']['绕道回家']['游戏厅'])# continue# elif rao == '2':# print(dic['C']['绕道回家']["网吧"])# continue# else:# print("重新输入")''' 11、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?'''# sum = 0# for i in range(100):# if i == 88:# continue# elif i % 2 == 0:# sum -= i# else:# sum += i# print(sum)''' 16、制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx'''# name = input("名字:")# who = input("地点:")# habby = input("爱好:")# print("敬爱可亲的{},最喜欢在{}地⽅⼲{}".format(name,who,habby))''' 17、等待⽤户输⼊内容,检测⽤户输⼊内容中是否包含敏感字符?如果存在敏感字符提示 “存在敏感字符请重新输⼊”,并允许⽤户重新输⼊并打印。敏感字符:“⼩粉嫩”、“⼤铁锤”'''# a = ['小粉嫩','大铁锤']# while True:# av = input("输入你想看的电视剧:")# if av in a:# print("敏感字符请重新输⼊")# else:# print("期待更好的相遇")# break''' 18、写代码,有如下列表,按照要求实现每一个功能''''''li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]'''''' 1)计算列表的长度并输出'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# print(len(li))''' 2)列表中追加元素"seven",并输出添加后的列表'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# li.append('seven')# print(li)''' 3)请在列表的第1个位置插入元素"Tony",并输出添加后的列表'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# li.insert(0,'Tony')# print(li)''' 4)请修改列表第2个位置的元素为"Kelly",并输出修改后的列表'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# li.insert(1,'Kelly')# print(li)''' 5)请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# l2=[1,"a",3,4,"heart"]# li.append(l2)# print(li)''' 6)请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# s = 'qwert'# li.extend(s)# print(li)''' 7)请给列表添加元素"eric",并输出添加后的列表'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# li.append('eric')# print(li)''' 8)请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表''''''解法一'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# li.remove("WuSir")# print(li)'''解法二'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# del li[1]# print(li)''' 9)请删除列表中的第2至4个元素,并输出删除元素后的列表'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# del li[1:4]# print(li)''' 10)请将列表所有得元素反转,并输出反转后的列表'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# li.reverse()# print(li)''' 11)请计算出"alex"元素在列表li中出现的次数,并输出该次数。'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# a = 0# for i in li:# if i == 'alex':# a += 1# print(a)'''19、写代码,有如下列表,利用切片实现每一个功能 li = [1, 3, 2, "a", 4, "b", 5,"c"]'''''' 1)通过对li列表的切片形成新的列表l1,l1 = [1,3,2]'''# li = [1, 3, 2, "a", 4, "b", 5,"c"]# l1 = li[:3]# print(l1)''' 2)通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]'''# li = [1, 3, 2, "a", 4, "b", 5,"c"]# l2 = li[3:-2]# print(l2)''' 3)通过对li列表的切片形成新的列表l3,l3 = ["1,2,4,5]'''# li = [1, 3, 2, "a", 4, "b", 5,"c"]# l3 = li[::2]# print(l3)''' 4)通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]'''# li = [1, 3, 2, "a", 4, "b", 5,"c"]# l4 = li[1:-2:2]# print(l4)''' 5)通过对li列表的切片形成新的列表l5,l5 = ["c"]'''# li = [1, 3, 2, "a", 4, "b", 5,"c"]# l5 = li[-1]# print(l5)''' 6)通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]'''# li = [1, 3, 2, "a", 4, "b", 5,"c"]# l6 = li[-3::-2]# print(l6)''' 20、写代码,有如下列表,按照要求实现每一个功能。''''''lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]'''''' 1)将列表lis中的"tt"变成大写(用两种方式)。''''''解法一'''# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]# lis[3][2][1][0] = lis[3][2][1][0].upper()# print(lis)'''解法二'''# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]# lis[3][2][1][0] = 'TT'# print(lis)''' 2)将列表中的数字3变成字符串"100"(用两种方式)''''''解法一'''# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]# lis[1] = '100'# lis[3][2][1][1] = '100'# print(lis)'''解法二'''# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]# lis[1] = str(lis[1]+97)# lis[3][2][1][1] = str(lis[3][2][1][1]+97)# print(lis)''' 3)将列表中的字符串"1"变成数字101(用两种方式)。''''''解法一'''# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]# lis[3][2][1][2] = 100# print(lis)'''解法二'''# lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]# lis[3][2][1][2] = int(lis[3][2][1][2])+99# print(lis)''' 21、请用代码实现li = ["alex", "eric", "rain"] 利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"'''# li = ["alex", "eric", "rain"]# a = '_'.join(li)# print(a)''' 22、利用for循环和range打印出下面列表的索引。 li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]'''# li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]# for i in range(len(li)):# print(i)''' 23、利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中。''''''解法一'''# a = []# for i in range(1,100):# if i % 2 == 0:# a.append(i)# print(a)'''解法二'''# a = []# for i in range(0,100,2):# a.append(i)# print(a)''' 24、利用for循环和range 找出50以内能被3整除的数,并将这些数插入到一个新列表中。''''''解法一'''# a = []# for i in range(50):# if i % 3 == 0:# a.append(i)# print(a)'''解法二'''# a = []# for i in range(0,50,3):# a.append(i)# print(a)''' 25、利用for循环和range从100~1,倒序打印'''# a = []# for i in range(100):# a.append(i)# for i in a[::-1]:# print(i)''' 26、利用for循环和range从100~10,倒序将所有的偶数添加到一个新列表中, 然后对列表的元素进行筛选,将能被4整除的数留下来。''''''解法一'''# a = []# b = []# for i in range(100,9,-1):# a.append(i)# for i in a:# if i % 4 == 0:# b.append(i)# print(b)'''解法二'''# a = []# for i in range(100,9,-4):# a.append(i)# print(a)''' 利用for循环和range,将1-30的数字一次添加到一个列表中,并循环这个列表,将能被3整除的数改成*。'''# lis =[]# index =0# for i in range(30):# lis.append(i)# for i in lis :# if i % 3 ==0:# lis[index] ="*"# index +=1# print(lis)''' 27、查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头, 并以"c"结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。 li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]'''# li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]# a = []# b = []# for i in li:# i = i.replace(' ','')# a.append(i)# for i in a:# if i.startswith('A') and i.startswith('a') or i.endswith('c'):# b.append(i)# print(b)''' 28、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符: 敏感词列表 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"] 则将用户输入的内容中的敏感词汇替换成等长度的*(苍老师就替换***), 并添加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。'''# name = input('请输入你喜欢的动漫人物:')# li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]# a = []# if name in li:# for i in li:# if i in name:# s = i.replace(i,len(i)*'*')# print(s)# a.append(i)# else:# li.append(name)# print(li)''' 29、有如下变量(tu是个元祖),请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])'''''' a. 讲述元祖的特性'''# 不可变数据类型,没有增删改查,可以存储任意数据类型# 元组是只读列表。# 可以索引,可以切片(步长)。# 不能增删改(儿子不能,孙子有可能),只能查询。''' b. 请问tu变量中的第一个元素 "alex" 是否可被修改?'''# k3不能被修改,因为他是元组。''' c. 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"'''# keys:value类型dict# tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])# tu[1][2]['k2'].append('Seven')# print(tu)''' d. 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"'''# keys:value类型dict,不能修改,因为后面对应元组tuple''' 30、字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}'''''' a. 请循环输出所有的key'''# dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}# for i in dic.keys():# print(i)''' b. 请循环输出所有的value'''# dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}# for i in dic.values():# print(i)''' c. 请循环输出所有的key和value'''# dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}# for i in dic:# print(i,dic[i])''' d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典'''# dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}# dic['k4'] = 'v4'# print(dic)''' e. 请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典'''dic = {'k1': "v1", "k2": "v2", "k3": [11, 22, 33]}# dic['k1'] = 'alex'# print(dic)''' f. 请在k3对应的值中追加一个元素 44,输出修改后的字典'''# dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}# dic['k3'].append(44)# print(dic)''' g. 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典'''# dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}# dic['k3'].insert(0,18)# print(dic)'''31题'''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,将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。'''# av_catalog['日韩']['tokyo-hot'][1] = av_catalog['日韩']['tokyo-hot'][1].upper()# print(av_catalog)''' d,给 '大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']'''# av_catalog['大陆']['1048'] = "['一天就疯了']"# print(av_catalog)''' e,删除此"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]键值对。'''# av_catalog['欧美'] = av_catalog['欧美'].pop('letmedothistoyou.com')# print(av_catalog)''' f,给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来'''# av_catalog['大陆']['1024'].append('可以趴下来')# print(av_catalog)''' 32、有字符串"k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....}'''# a = "k:1|k1:2|k2:3|k3:4"# b = {}# c = a.split('|')# print(c)# for i in c:# k,v = i.split(':')# b[k] = v# print(b)''' 33、元素分类有如下值li= [11,22,33,44,55,66,77,88,99,90], 将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。'''# li= [11,22,33,44,55,66,77,88,99,90]# a = []# b = []# c = {}# for i in li:# if i > 66:# a.append(i)# if i < 66:# b.append(i)# c['k1'] = a# c['k2'] = b# print(c)
来源:https://www.cnblogs.com/jin-yuana/p/9849473.html