1.写函数,计算传入数字参数的和。(动态传参)
def sum_count(*args):
return sum(args)
v = sum_count(1, 2, 3, 4) # 传参数
print(v)
2.写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作
import os
def func():
usee_path = input('请输入要修改的文件名:')
if not os.path.exists(usee_path+'.txt'):
print('输入的文件不存在')
usee = input('要修改的内容:')
usee_s = input('内容修改为 :')
with open(usee_path+'.txt',mode='r',encoding='utf-8') as f:
for i in f :
print(i.strip().replace(usee,usee_s))
func()
3.写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。
def func(*args):
if not all(args):
return '有空内容'
return '没有空内容'
v = func(1,2,3,0)
print(v)
4.写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容(对value的值进行截断),
并将新内容返回给调用者,注意传入的数据可以是字符、list、dict
dic = {'k1':'alex','k2':'aaaaaaaaaaaaaaa','k3':'sb'}
def func(a):
for k,v in a.items():
if not len(v) == 2:
a[k]=v[ : 2]
return a
v = func(dic)
print(v)
5.解释闭包的概念
def func(arg):
def info():
return arg
return info
v = func('alex')
v1 = v()
print(v1)
6.写函数,返回一个扑克牌列表,里面有52项,每一项是一个元组
例如:[(‘红心’,2),(‘草花’,2), …(‘黑桃a’)]
lst = [ i for i in range(2,11)]
lis = ['j','q','k','a']
data = lst + lis
info = ['红心','黑桃','梅花','红方']
v =[]
for line in info:
for i in data:
i = tuple((line,i))
v.append(i)
print(v)
7.写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}
def func(*args):
count = max(args)
count_min = min(args)
return {'max':count,'min':count_min}
v = func(1,2,3,4,33,4,4,5,5566,)
print(v)
8,8. 写函数,专门计算图形的面积
其中嵌套函数,计算圆的面积,正方形的面积和长方形的面积
调用函数area(‘圆形’,圆半径) 返回圆的面积
调用函数area(‘正方形’,边长) 返回正方形的面积
调用函数area(‘长方形’,长,宽) 返回长方形的面积
def area(a1,a2,a3=0):
'''
计算 图形面积
:param a1: 圆形
:param a2: 半径/长
:param a3:宽
:return:
'''
def circular():
print('圆的面积: %s'%(3.14*a2*a2,))
def square():
print('正方形的面积:%d'%(a2*a2,))
def rectangle():
print('长方形的面积 %d'%(a3*a2,))
# 判断瀛湖输入的图形以调用
if a1 =='圆形':
circular()
elif a1 =='正方形':
square()
else:
rectangle()
# 用户输入
usee_graphical = input('请输入要计算的图形 :')
if usee_graphical == '圆形':
usee_radius = int(input('圆的半径:'))
area(usee_graphical,usee_radius)
elif usee_graphical == '正方形':
usee_wide = int(input('正方形的边长:'))
area(usee_graphical,usee_wide)
elif usee_graphical=='长方形':
usee_long = int(input('长方形的长:'))
usee_long_wode = int(input('长方形的宽 :'))
area(usee_graphical,usee_long,usee_long_wode)
9 .写函数,传入一个参数n,返回n的阶乘
def info (arg):
sum =1
for i in range(1,arg):
sum *=i
return sum
v = info(7)
print(v)
10 编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码
dic = {'账号': 'alex', '密码': 123, '登陆': false}
def func(arg):
def info():
if dic['登陆'] == true:
print('已经登录')
arg()
usee = input('请输入账号:')
usee_s = int(input('请输入密码:'))
if usee == dic['账号'] and usee_s == dic["密码"]:
print('登陆成功')
dic['登陆']=true
arg()
else:
print('账号或密码错误')
return info
@func
def inner():
print('____欢迎来到_____')
@func
def data():
print('alexnb')
inner()
data()
11.用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb
name=['alex','wupeiqi','yuanhao','nezha']
v = map(lambda x :x+'_sb',name)
for i in v:
print(i)
12.用filter函数处理数字列表,将列表中所有的偶数筛选出来
age = [1,2,34,4,5,66,]
v = filter(lambda x :x%2==0,age)
for i in v:
print(i)
13.如下,每个小字典的name对应股票名字,shares对应多少股,price对应股票的价格
通过哪个内置函数可以计算购买每支股票的总价
用filter过滤出,单价大于100的股票有哪些