函数相关题目

1、简述普通参数、指定参数、默认参数、动态参数的区别
2、写函数,计算传入字符串中【数字】、【字母】、【空格】以及【其他】的个数
def tongji(s):
al_num = 0
space_num = 0
digit_num = 0
others_num = 0
for i in s:
if i.isdigit():
digit_num += 1
elif i.isspace():
space_num += 1
elif i.isalpha():
al_num += 1
else:
others_num += 1
return(al_num, space_num, digit_num, others_num)

r = tongji("asf asf5415*4f1af6af*")
print(r)
3、写函数,判断用户传入的对象(字符串、列表、元祖)长度是否大于5
def obj_len(arg):
if isinstance(arg, str) or isinstance(arg, list) or isinstance(arg, tuple):#如果输入值不是字符串或者列表或者元组,返回None
if len(arg) > 5:
return True
else:
return False
return None


temp = 123
ret = obj_len(temp)
print(ret)
4、写函数,检查用户传入的对象(字符串、列表、元祖)的每一个元素是否含有空内容
def space(args):
ret = True
for i in args:
if i.isspace():
ret = False
break
return ret
r = space("asdasfssdf8/asd")
print(r)
5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
def li_len(a):
if len(a) > 2:
return a[0:2]
return a
li=[1,2,3,5]
r = li_len(li)
print(r)
6、写函数,检查获取传入列表或元祖对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者
def f(arg):
ret = []
for i in range(len(arg)):
if i % 2 == 1:
ret.append(arg[i])
else:
pass
return ret


li = [11,22,33,44,55]
r = f(li)
print(li)
print(r)
7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
 dic = {"K1":"V1V1","K2":[11,22,33,44]}
1、def f(arg):
ret = {}
for key,value in arg.items():
if len(value) > 2:
ret[key] = value[0:2]
else:
ret[key] = value
return ret
dic = {"K1":"V1V1","K2":[11,22,33,44],'k3':"12"}
r = f(dic)
print(r)
8、写函数,利用递归获取裴波那契数列中的第10个数,并将该值返回给调用者
def f(d,a1,a2):
if d == 10:
return a1
a3 = a1 + a2
r = f(d + 1, a2, a3)
return r
ret = f(1, 0 ,1)
print(ret)
posted @ 2017-10-23 13:56  彩色的大卷发  阅读(230)  评论(0编辑  收藏  举报