# day10函數的定義調用和參數作業
# 1、寫函數,使用者傳入修改的檔案名、與要修改的内容,執行函數,完成批量修改操作
# def modify_file(filename,old,new):
# import os
# with open(filename,mode='rt',encoding='utf-8') as read_f,\
# open('.db.txt.swap',mode='wt',encoding='utf-8') as wrife_f:
# for line in read_f:
# wrife_f.write(line.replace(old,new))
# os.remove(filename)
# os.rename('.db.txt.swap',filename)
#
# modify_file('db.txt','sb','kevin')
# 2、寫函數,計算傳入字元串中【數字】、【字母】、【空格] 以及 【其他】的個數
# def check_list(msg):
# res={
# 'num':0,
# 'string':0,
# 'space':0,
# 'others':0
# }
# for line in msg:
# if line.isdigit():
# res['num'] += 1
# elif line.isalpha():
# res['string'] += 1
# elif line.isspace():
# res['space'] += 1
# else:
# res['others'] += 1
# return res
#
# res=check_list('hello12 342: 1213')
# print(res)
# 3、寫函數,判斷使用者傳入的對象(字元串、清單、元組)長度是否大于5。
# def check_list(msg):
# if len(msg)>5:
# print('是')
# else:
# print('否')
# msg=check_list((1,2,[1,2,4,5,5,6]))
# 4、寫函數,檢查傳入清單的長度,如果大于2,那麼僅保留前兩個長度的内容,并将新内容傳回給調用者。
# def check_list(msg):
# if len(msg)>2:
# msg= msg[0:2]
# return(msg)
# print(check_list([1,2,3,4,5]))
# 5、寫函數,檢查擷取傳入清單或元組對象的所有奇數位索引對應的元素,并将其作為新清單傳回給調用者。
# def check_list(msg):
# return msg[::2]
# print(check_list([1,2,3,4,5,6,7]))
# 6、寫函數,檢查字典的每一個value的長度,如果大于2,那麼僅保留前兩個長度的内容,并将新内容傳回給調用者。
# dic = {"k1": "v1v1", "k2": [11,22,33,44]}
# PS:字典中的value隻能是字元串或清單
# def check_list(dic):
# for k,v in dic.items():
# if len(v)>2:
# dic[k]=v[0:2]
# return dic
# print(check_list({'k1':'abcdef','k2':[1,2,3,4],'k3':('a','b','c')}))