脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python函数使用的相关练习题分享

Python函数使用的相关练习题分享

2023-02-10 12:08Python热爱者 Python

这篇文章主要介绍了Python函数使用的相关练习题分享,文章基于python函数内容展开其相关例题,具有一定的参考价值,需要的小伙伴可以参考一下

1.写函数计算传入数字参数的和(动态传参)

?
1
2
3
4
def func_sum(x, y):
return x + y
#或
lambda x,y:x+y

2.写函数用户传入修改的文件名

用户传入修改的文件名且与要修改的内容,执行函数,完成整个文件的批量修改操作

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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.写函数检查用户传入的对象

用户对象:(字符串、列表、元组)的每一个元素是否含有空内容。

?
1
2
3
4
5
6
7
8
9
10
11
12
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.写函数检查传入字典的每一个value的长度

例:如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

?
1
2
3
4
5
6
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.闭包

内部函数包含对外部作用域而非全局作用域变量的引用,该内部函数称为闭包函数

6.写函数返回一个扑克牌列表

返回的这个扑克牌列表里面有52项,每一项是一个元组

例如:[(‘红心’,2),(‘草花’,2), …(‘黑桃A’)]

?
1
2
3
4
5
6
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.写函数传入n个数且返回字典

字典{‘max’:最大值,’min’:最小值}

?
1
2
3
4
5
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.写函数传入一个参数n且返回n的阶乘

?
1
2
3
4
5
6
7
8
9
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.编写装饰器

为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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)

到此这篇关于Python函数使用的相关练习题分享的文章就介绍到这了,更多相关Python练习题内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.51cto.com/u_14246112/5293222

延伸 · 阅读

精彩推荐
  • Pythonpython 异常捕获详解流程

    python 异常捕获详解流程

    异常即非正常状态,在Python中使用异常对象来表示异常。若程序在编译或运行过程中发生错误,程序的执行过程就会发生改变,抛出异常对象,程序流进入...

    侯小啾10992022-10-18
  • PythonPython数据结构之栈、队列及二叉树定义与用法浅析

    Python数据结构之栈、队列及二叉树定义与用法浅析

    这篇文章主要介绍了Python数据结构之栈、队列及二叉树定义与用法,结合具体实例形式分析了Python数据结构中栈、队列及二叉树的定义与使用相关操作技巧...

    wklken7152021-05-08
  • Pythonpython实现小球弹跳效果

    python实现小球弹跳效果

    这篇文章主要为大家详细介绍了python实现小球弹跳效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    毒_牙7362021-06-25
  • Python转换科学计数法的数值字符串为decimal类型的方法

    转换科学计数法的数值字符串为decimal类型的方法

    今天小编就为大家分享一篇转换科学计数法的数值字符串为decimal类型的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    zafer11852021-03-17
  • Pythonpython爬虫Mitmproxy安装使用学习笔记

    python爬虫Mitmproxy安装使用学习笔记

    这篇文章主要介绍了python爬虫Mitmproxy学习笔记分享,有需要的朋友可以收藏学习下,希望可以对你有所帮助,大家一起共同学习,共同进步...

    别呀10272021-12-28
  • PythonPython中的Descriptor描述符学习教程

    Python中的Descriptor描述符学习教程

    简单来说,数据描述符是指实现了__get__、__set__、__del__方法的类属性,等效于定义了三个方法的接口,下面就来详细看一下Python中的Descriptor修饰符学习教程...

    piglei2482020-08-25
  • PythonPython实现大文件排序的方法

    Python实现大文件排序的方法

    这篇文章主要介绍了Python大文件排序的方法,涉及Python针对文件、缓存及日期等操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下 ...

    Sephiroth2342020-07-21
  • PythonPython基本socket通信控制操作示例

    Python基本socket通信控制操作示例

    这篇文章主要介绍了Python基本socket通信控制操作,结合实例形式分析了Python socket通信服务器端与客户端相关操作技巧与注意事项,需要的朋友可以参考下...

    徐为波8942021-05-25