Python函數(shù)使用的相關(guān)練習題分享
1.寫函數(shù)計算傳入數(shù)字參數(shù)的和(動態(tài)傳參)
def func_sum(x, y): return x + y #或 lambda x,y:x+y
2.寫函數(shù)用戶傳入修改的文件名
用戶傳入修改的文件名且與要修改的內(nèi)容,執(zhí)行函數(shù),完成整個文件的批量修改操作
import os def modify_file(file_name,content,newstr): new_file_name = '%sfile_name' %'new.' f_new = open(new_file_name, 'w') if os.path.exists(file_name): with open(file_name,'r+') as f: for line in f: if content in line: line = line.replace(content, newstr) f_new.write(line) f_new.close() os.rename(new_file_name, file_name) else: exit('file is not exist !!!')
3.寫函數(shù)檢查用戶傳入的對象
用戶對象:(字符串、列表、元組)的每一個元素是否含有空內(nèi)容。
def isNull(p_obj): for item in p_obj: if item.strip() == '': return True else: return False a = [' ','1','2'] b = ['5','1','2'] c = 'ab c' print(isNull(a)) print(isNull(c)) print(isNull(b))
4.寫函數(shù)檢查傳入字典的每一個value的長度
例:如果大于2,那么僅保留前兩個長度的內(nèi)容,并將新內(nèi)容返回給調(diào)用者。
def two_len(**kwargs): for k, v in kwargs.items(): if len(v) > 2: kwargs[k] = v[:2] return kwargs print(two_len(x='12', y='345', c='byw'))
5.閉包
內(nèi)部函數(shù)包含對外部作用域而非全局作用域變量的引用,該內(nèi)部函數(shù)稱為閉包函數(shù)
6.寫函數(shù)返回一個撲克牌列表
返回的這個撲克牌列表里面有52項,每一項是一個元組
例如:[(‘紅心’,2),(‘草花’,2), …(‘黑桃A’)]
def cards(): type_li = ['紅心', '草花', '黑桃','梅花'] num = list(range(2, 11)) num.extend('JQKA') return [(x, y) for x in type_li for y in num ] print(len(cards()), cards())
7.寫函數(shù)傳入n個數(shù)且返回字典
字典{‘max’:最大值,’min’:最小值}
def max_min_dic(*args): min_v = min(args) max_v = max(args) return {'max':max_v,'min':min_v} print(max_min_dic(2,3,6,7,9))
8.寫函數(shù)傳入一個參數(shù)n且返回n的階乘
from functools import reduce def factorial(n): if n == 0: return 0 elif n == 1: return 1 else: return reduce(lambda x, y: x*y ,list(range(1, n))) print(factorial(5))
9.編寫裝飾器
為多個函數(shù)加上認證的功能(用戶的賬號密碼來源于文件),要求登錄成功一次,后續(xù)的函數(shù)都無需再輸入用戶名和密碼
user_dic={ 'user':None, 'is_authenticate':False } def read_file(): with open('USER.TXT','r') as f: s = f.read().strip(',') user_info = eval(s) return user_info def auth(user_info): username = input("account:").strip() password = input("password:").strip() print(user_info) if username in user_info['name'] and password in user_info['password']: print("success") user_dic['user'] = username user_dic['is_authenticate'] = True return user_dic else: print("Failure") return '' def login_required(func): def inner(*args, **kwargs): if args[0].get('is_authenticate'): ret = func(*args, **kwargs) else: exit('need authenticate') return ret return inner @login_required def print_info(acc_data): print('進入') user_info = read_file() user_data = auth(user_info) print(user_data) print_info(user_data)
到此這篇關(guān)于Python函數(shù)使用的相關(guān)練習題分享的文章就介紹到這了,更多相關(guān)Python練習題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
numpy中生成隨機數(shù)的幾種常用函數(shù)(小結(jié))
這篇文章主要介紹了numpy中生成隨機數(shù)的幾種常用函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2020-08-08python編程學(xué)習使用管道Pipe編寫優(yōu)化代碼
大家好,今天這篇文章我將詳細講解 Pipe 如何讓你的代碼更加簡潔的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-11-11解讀matplotlib和seaborn顏色圖(colormap)和調(diào)色板(color palette)
這篇文章主要介紹了matplotlib和seaborn顏色圖(colormap)和調(diào)色板(color palette),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Python實現(xiàn)隨機生成有效手機號碼及身份證功能示例
這篇文章主要介紹了Python實現(xiàn)隨機生成有效手機號碼及身份證功能,結(jié)合完整實例形式分析了Python基于手機號與身份證算法實現(xiàn)隨機手機號及身份證的生成功能,涉及Python日期、隨機數(shù)、文件讀取等相關(guān)操作技巧,需要的朋友可以參考下2017-06-0610個Python常用的損失函數(shù)及代碼實現(xiàn)分享
損失函數(shù)是一種衡量模型與數(shù)據(jù)吻合程度的算法。損失函數(shù)測量實際測量值和預(yù)測值之間差距的一種方式。本文為大家總結(jié)了10個常用的損失函數(shù)及Python代碼實現(xiàn),需要的可以參考一下2022-09-09