Python函數(shù)使用的相關(guān)練習(xí)題分享
1.寫函數(shù)計(jì)算傳入數(shù)字參數(shù)的和(動(dòng)態(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ù)檢查用戶傳入的對(duì)象
用戶對(duì)象:(字符串、列表、元組)的每一個(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的長(zhǎng)度
例:如果大于2,那么僅保留前兩個(gè)長(zhǎng)度的內(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ù)包含對(duì)外部作用域而非全局作用域變量的引用,該內(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)證的功能(用戶的賬號(hào)密碼來(lái)源于文件),要求登錄成功一次,后續(xù)的函數(shù)都無(wú)需再輸入用戶名和密碼
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)容請(qǐng)搜索腳本之家以前的文章或繼續(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-07
numpy中生成隨機(jī)數(shù)的幾種常用函數(shù)(小結(jié))
這篇文章主要介紹了numpy中生成隨機(jī)數(shù)的幾種常用函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼
大家好,今天這篇文章我將詳細(xì)講解 Pipe 如何讓你的代碼更加簡(jiǎn)潔的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
python通過(guò)第三方庫(kù)操作PDF文件的幾種常見方法
Python是一種高級(jí)編程語(yǔ)言,主要用于數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、圖像處理等領(lǐng)域,在PDF文件處理方面,Python有許多強(qiáng)大的庫(kù)和工具,這篇文章主要給大家介紹了關(guān)于python通過(guò)第三方庫(kù)操作PDF文件的幾種常見方法,需要的朋友可以參考下2024-02-02
解讀matplotlib和seaborn顏色圖(colormap)和調(diào)色板(color palette)
這篇文章主要介紹了matplotlib和seaborn顏色圖(colormap)和調(diào)色板(color palette),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號(hào)碼及身份證功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)隨機(jī)生成有效手機(jī)號(hào)碼及身份證功能,結(jié)合完整實(shí)例形式分析了Python基于手機(jī)號(hào)與身份證算法實(shí)現(xiàn)隨機(jī)手機(jī)號(hào)及身份證的生成功能,涉及Python日期、隨機(jī)數(shù)、文件讀取等相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
10個(gè)Python常用的損失函數(shù)及代碼實(shí)現(xiàn)分享
損失函數(shù)是一種衡量模型與數(shù)據(jù)吻合程度的算法。損失函數(shù)測(cè)量實(shí)際測(cè)量值和預(yù)測(cè)值之間差距的一種方式。本文為大家總結(jié)了10個(gè)常用的損失函數(shù)及Python代碼實(shí)現(xiàn),需要的可以參考一下2022-09-09

