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)密碼來源于文件),要求登錄成功一次,后續(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)容請(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)文章
Python實(shí)現(xiàn)自動(dòng)訪問網(wǎng)頁的例子
今天小編就為大家分享一篇Python實(shí)現(xiàn)自動(dòng)訪問網(wǎng)頁的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python實(shí)現(xiàn)ATM簡(jiǎn)單功能的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)ATM的簡(jiǎn)單功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-11-11
python實(shí)現(xiàn)selenium截圖的兩種方法
本文主要介紹了python實(shí)現(xiàn)selenium截圖的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
使用python刪除nginx緩存文件示例(python文件操作)
這篇文章主要介紹了使用python刪除nginx緩存文件示例(python文件操作),需要的朋友可以參考下2014-03-03
Pandas DataFrame轉(zhuǎn)換為字典的方法
實(shí)際開發(fā)中我們可能會(huì)遇到一類問題,如何將Pandas DataFrame轉(zhuǎn)換為字典,本文就來介紹一下,感興趣的可以了解一下2021-05-05
Python光學(xué)仿真wxpython透鏡演示系統(tǒng)計(jì)算與繪圖
這篇文章主要為大家介紹了Python光學(xué)仿真wxpython透鏡演示系統(tǒng)計(jì)算與繪圖的實(shí)現(xiàn)示例。有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10
使用AJAX和Django獲取數(shù)據(jù)的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于使用AJAX和Django獲取數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

