Python函數(shù)使用的相關(guān)練習(xí)題分享
1.寫函數(shù)計(jì)算傳入數(shù)字參數(shù)的和(動態(tài)傳參)
def func_sum(x, y): return x + y #或 lambda x,y:x+y
2.寫函數(shù)用戶傳入修改的文件名
用戶傳入修改的文件名且與要修改的內(nèi)容,執(zhí)行函數(shù),完成整個(gè)文件的批量修改操作
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ù)檢查用戶傳入的對象
用戶對象:(字符串、列表、元組)的每一個(gè)元素是否含有空內(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ù)檢查傳入字典的每一個(gè)value的長度
例:如果大于2,那么僅保留前兩個(gè)長度的內(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ù)返回一個(gè)撲克牌列表
返回的這個(gè)撲克牌列表里面有52項(xiàng),每一項(xiàng)是一個(gè)元組
例如:[(‘紅心’,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個(gè)數(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ù)傳入一個(gè)參數(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.編寫裝飾器
為多個(gè)函數(shù)加上認(rèn)證的功能(用戶的賬號密碼來源于文件),要求登錄成功一次,后續(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('進(jìn)入') user_info = read_file() user_data = auth(user_info) print(user_data) print_info(user_data)
到此這篇關(guān)于Python函數(shù)使用的相關(guān)練習(xí)題分享的文章就介紹到這了,更多相關(guān)Python練習(xí)題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 100?個(gè)?Python?小例子(練習(xí)題四)
- 100 個(gè) Python 小例子(練習(xí)題三)
- python基本數(shù)據(jù)類型練習(xí)題
- 5道關(guān)于python基礎(chǔ) while循環(huán)練習(xí)題
- Python裝飾器的練習(xí)題
- python 循環(huán)結(jié)構(gòu)練習(xí)題
- 14道基礎(chǔ)Python練習(xí)題(附答案)
- 100 個(gè) Python 小例子(練習(xí)題二)
- 100 個(gè) Python 小例子(練習(xí)題一)
- python小白練習(xí)題之條件控制與循環(huán)控制
相關(guān)文章
導(dǎo)致python中import錯(cuò)誤的原因是什么
在本篇文章里小編給大家整理了關(guān)于python的import錯(cuò)誤原因以及相關(guān)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-07-07numpy中生成隨機(jī)數(shù)的幾種常用函數(shù)(小結(jié))
這篇文章主要介紹了numpy中生成隨機(jī)數(shù)的幾種常用函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼
大家好,今天這篇文章我將詳細(xì)講解 Pipe 如何讓你的代碼更加簡潔的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11解讀matplotlib和seaborn顏色圖(colormap)和調(diào)色板(color palette)
這篇文章主要介紹了matplotlib和seaborn顏色圖(colormap)和調(diào)色板(color palette),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號碼及身份證功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號碼及身份證功能,結(jié)合完整實(shí)例形式分析了Python基于手機(jī)號與身份證算法實(shí)現(xiàn)隨機(jī)手機(jī)號及身份證的生成功能,涉及Python日期、隨機(jī)數(shù)、文件讀取等相關(guān)操作技巧,需要的朋友可以參考下2017-06-0610個(gè)Python常用的損失函數(shù)及代碼實(shí)現(xiàn)分享
損失函數(shù)是一種衡量模型與數(shù)據(jù)吻合程度的算法。損失函數(shù)測量實(shí)際測量值和預(yù)測值之間差距的一種方式。本文為大家總結(jié)了10個(gè)常用的損失函數(shù)及Python代碼實(shí)現(xiàn),需要的可以參考一下2022-09-09