# 1.去除列表中的重复元素 def que1_1(): li=[1,2,1,3,4,5,3,4,2,1,] temp=[] #添加一个空列表,用于遍历之后的添加 for i in li: #输入循环的次数 if i not in temp: # 判断每一个值是否在temp中 temp.append(i) #如果不在就添加输入 print(temp) #[1, 2, 3, 4, 5] def que1_2(): li=[1,2,1,3,4,5,3,4,2,1,] # 根据定义集合时如果出现重复元素,会只显示一个,所以用set,变成集合,后用list转换成列表 print(list(set(li))) #[1, 2, 3, 4, 5] # 2.现存任意两个字符串s1与s2,判断s1中的字符在s2中存在的个数(重复的算1个,一条语句实现) def que_2(): s1="hkd" s2="hdhkhdhjdhuekkhdujcj" # print(set(s1)) 得出{'k', 'd', 'h'} # print(set(s2)) 得出{'u', 'e', 'j', 'k', 'c', 'h', 'd'} print(len(set(s1)&set(s2))) #得出3 &表示交集 # 3.请去除a字符串多次出现的字母,仅留最先出现的一个。例 ‘acbcabbd’,经过去除后,输出 ‘abcd’ def que_3(): a="abcabbd" b=list(set(a)) #将字符串用集合去重,变成列表,由于列表是无序的, b.sort(key=a.index) #调用sort进行原地升序排列,拿a字符串(key用索引)中排序用到b中 print(b) #['a', 'b', 'c', 'd'] # 4.不使用for循环判断search字符串中的字母是否存在在a字符串中。 def que_4(): x="search" y=set(x) #使字符串变成集合 z={"a"} #把a变成集合 if y>z: #用集合中关于父子集的>来判断是否包含 print(True) else: print(False) # ================================================================== # 5.研究一下min,max、sum函数,看看传入一个列表是否可以使用? # 传入多个参数形式是否可以使用?自己写一个函数,使得sum也能跟max和min一样,可以传入多个参数 def que5(): print(min(*[1, 2, 3], *[4, 5, 6])) #1 print(max(*[1, 2, 3], *[4, 5, 6])) #6 def sum1_new(arg1, arg2, *args): #函数中位置参数,命名关键字参数 a=arg1+arg2+sum(args) return a #return返回值 后加要返回的名 后面的输入不会再执行 print(sum1_new(*[1, 2, 3], *[4, 5, 6])) #21 输入 打印 # que5() # 6. 编写程序,练习其他序列类型的拆包。 def que6(*args, **kwargs): #万能参数 *args 将实际参数拆包成序列 **kwargs 将实际参数拆包成字典 print(args, kwargs) # que6(*[1], *(2,), *{3}, **{"a": 4}) # 7.编写函数,第一个参数指定今天是星期几(1 ~ 7),第二个参数指定天数n,返回n天后是星期几。 def que7(a:int,n:int): if 1<=a<=7: #判断a在第几天 if (a+n)%7 != 0: #根据a+n的总天数除以7取余,就是星期几。不能等于0 return (a+n)%7 #返回 else: return 7 #如果等于0, 则是星期日 else: return "输入错误" # print(que7(2,2))
案例(二)
最新推荐文章于 2024-07-13 18:53:27 发布