阿尔哦覅和 发表于 2018-8-14 07:43:13

python基础---函数

1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批量修改操作  
filename=input('请输入你要修改的文件名:')
  
old=input('请输入你要修改的内容:')
  
new=input('请输入新内容:')
  
def modify(filename,old,new):
  
    import os
  
    with open(filename,'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(filename)
  
    os.rename('.bak.swap',filename)
  

  
modify(filename,old,new)
  

  

  
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
  
def calculation(str):
  
    res={
  
      'nums': 0,
  
      'string': 0,
  
      'space': 0,
  
      'other': 0
  
    }
  
    for s in str:
  
      if s.isdigit():
  
            res['nums']+=1
  
      if s.isalpha():
  
            res['string']+=1
  
      if s.isspace():
  
            res['space']+=1
  
      else:
  
            res['other']+=1
  
    return res
  
str=input('请输入要判断的字符串:')
  
res=calculation(str)
  
print(res)
  

  
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5
  
def judge(object):
  
    if len(object) >5:
  
      return object
  
object=input('请输入字符串、列表或元组:')
  
judge(object)
  

  
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
  
def check(str):
  
    if len(str) >2:
  
      str=str
  
    return str
  
str=input('请输入元素:')
  
print(check(str))
  

  
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者
  
def check_index(objects):
  
    return objects[::2]
  
objects=input('请输入列表或元组:')
  
print(check_index(objects))
  

  
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
  
dic = {'k1':'v1v1','k2':}
  
def check_dic(dic):
  
    d={}
  
    for key,value in dic.items():
  
      if len(value) > 2:
  
            d=value
  
    return d
  

  
print(check_dic(dic))
页: [1]
查看完整版本: python基础---函数