DAY10课下作业

1、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成批量修改操作。

 

#a.txt内容:egon

def modify_file(filename,old,new):

   import os

   with open('a.txt','r',encoding='utf-8') as read_f,\

       open('.bak.swap','w',encoding='utf-8') as write_f:

     for line in read_f:

       if old in line:

         line=line.replace(old,new)

       write_f.write(line)

   os.remove('a.txt')

   os.rename('.bak.swap','a.txt')

modify_file(r'E:\Program Files (x86)\Python3.7\练习\a.txt','egon','alex')

 

2、写函数,计算传入字符串中【数字】、【字母】、【空格】 以及 【其他】的个数。

 

def check_str(msg):

  res={'num':0,'string':0,'space':0,'other':0,}

     for s in msg:

       if s.isdigit(): res['num']+=1

       elif s.isalpha(): res['string']+=1

       elif s.isspace(): res['space']+=1

       else: res['other']+=1

       return res

res=check_str('1.success is from diligence')

print(res)

 

3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

 

def func(n):

  print('判断传入对象的长度是否大于5')

  if len(n) >= 5:

    return True   

  else:

    return False

content = input('请输入您要判断的内容:')

print(func(content))

 

4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

 

def func(n):

  if len(n) > 2:

    n=n[0:2]

  else:

    n=n

  return n

print(func(['a',1,'b',2,'c',3,'d']))

 

5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

 

def func(n):

  return n[::2]

print(func([1,2,3,4,5,6,7,8,9]))

 

6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

  dic = {'k1': 'v1v1', 'k2': [11,22,33,44]}

  PS:字典中的value只能是字符串或列表。

 

dic = {'k1': 'v1v1', 'k2': [11, 22, 33, 44]}

def func(dic):

  n = {}

  for keys, value in dic.items():

    if len(value) > 2:

      n[keys] = value[0:2]

    else:

      n[keys] = value

  return n

print(func({'k1': 'v1v1', 'k2': [11, 22, 33, 44]}))

转载于:https://www.cnblogs.com/lipengjia/p/9699879.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值