@2020.3.18 1、寫函數,,用戶傳入修改的文件名,與要修改的內容,執行函數,完成批量修改操作 2、寫函數,計算傳入字元串中【數字】、【字母】、【空格] 以及 【其他】的個數 3、寫函數,判斷用戶傳入的對象(字元串、列表、元組)長度是否大於5。 4、寫函數,檢查傳入列表的長度,如果大於2,那麼 ...
@2020.3.18
1、寫函數,,用戶傳入修改的文件名,與要修改的內容,執行函數,完成批量修改操作
def modify_file(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)
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
3、寫函數,判斷用戶傳入的對象(字元串、列表、元組)長度是否大於5。
def len_check(inp): if len(inp) >5: print('輸入的對象長度超出限制') else: print('輸入內容的長度為:{}'.format(len(inp))) len_check('aaaaa')
4、寫函數,檢查傳入列表的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給調用者。
def list_check(inp_list): if len(inp_list) >2: inp_list=inp_list[0:2] return inp_list print(list_check([1,4,7,9]))
5、寫函數,檢查獲取傳入列表或元組對象的所有奇數位索引對應的元素,並將其作為新列表返回給調用者。
def list_check2(seq): return seq[::2] print(func2([1,2,3,4,5,6,7]))
6、寫函數,檢查字典的每一個value的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給調用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字元串或列表
def dic_check(inp_dic): d={} for a,b in dic.items(): if len(b) >2: d[a]=b[0:2] return d dic = {"k1": "v1v1", "k2": [11,22,33,44]} print(dic_check(dic))