'''练习题:'''''' 一、有变量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