案例(二)

# 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))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值