Python练习4

  1. 写函数,接收n个数字,将这些参数数字求和
def sum_func(*args):
    total = 0
    for i in args:
        total += i
    return total

ret = sum_func(15, 2, 8, 35, 45)
print(ret)
  1. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者
def func(*args):
    return args[1::2]

list = func(1, 2 ,3, 4, 5, 6)
print(list)
  1. 写函数,判断用户传入的对象(字符串、列表或元组)长度是否大于5
def Judgelen(x):
    return len(x)>5
l = Judgelen([1,2,3,4,5,6])
if l == True:
    print("Yes")
else:
    print("No")
print(l)
  1. 写函数,检查传入列表的长度,如果大于2, 那么仅保留两个长度的内容,并把新内容返回给调用者
def func(l):
    return  l[:2]
print(func([1,2,3,4,6]))
  1. 写函数,计算传入字符串中【数字】、【字母】、【空格】、以及【其他】的个数,并返回结果
def func(s):
    # num = 0  # 计算数字的个数
    # alpha = 0 # 计算字母的个数
    # space = 0 # 空格
    # other = 0 # 其他
    dic = {'num':0, 'alpha':0, 'space':0, 'other':0}
    for i in s:
        if i.isdigit():
            dic['num'] += 1
        elif i.isalpha():
            dic['alpha'] += 1
        elif i.isspace():
            dic['space'] += 1
        else:
           dic['other'] += 1
    return dic

print(func("0+4-dkajkf 23"))
  1. 写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否是空内容,并返回结果
def func(x):
    if type(x) is str and x:
        for i in x:
            if i == ' ':
                return True
    elif type(x) is list or type(x) is tuple and x:
        for i in x:
            if not i:
                return True
    elif not x:
        return True
print(func([1,'']))
  1. 写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {'k1':'v1','k2':[1,2,3,4]}
# ps:本题字典中的value只能是字符串或列表
def func(dic):
    for k in dic:
        if len(dic[k])>2:
            dic[k] = dic[k][:2]
    return dic

dic = {'k1':'v1','k2':[1,2,3,4]}
print(func(dic))
  1. 写函数,接收两个数字参数,返回比较大的那个数字
def compare_ab(a,b):
    return a if a>b else b
c = compare_ab(10,12)
print(c)
  1. 写函数,用户传入修改的文件名,与要修改的内容执行函数,完成整个文件的批量修改操作(进阶)
def func(filename, old, new):
    with open(filename, encoding='utf8') as f, open('%s.bak' % filename, 'w', encoding='utf8') as f2:
        for line in f:
            if old in line:
                line = line.replace(old,new)
            f2.write(line)
    import os
    os.remove(filename)
    os.rename('%s.bak'% filename, filename)

func('修改文件名','12','13')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值