Python开发第xxx篇 函数习题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开发第xxx篇 函数习题相关的知识,希望对你有一定的参考价值。

1、简述普通参数、指定参数、默认参数、动态参数的区别

# ######### 定义函数 ######### 

# name 叫做函数func的形式参数,简称:形参
def func(name):
    print name

# ######### 执行函数 ######### 
#  ‘wupeiqi‘ 叫做函数func的实际参数,简称:实参
func(wupeiqi)

def func(name, age = 18):
    
    print "%s:%s" %(name,age)

# 指定参数
func(wupeiqi, 19)
# 使用默认参数
func(alex)

注:默认参数需要放在参数列表最后


def func(*args):

    print args


# 执行方式一
func(11,33,4,4454,5)

# 执行方式二
li = [11,2,2,3,3,4,54]
func(*li)

def func(**kwargs):

    print args


# 执行方式一
func(name=wupeiqi,age=18)

# 执行方式二
li = {name:wupeiqi, age:18, gender:male}
func(**li)

def func(*args, **kwargs):

    print args
    print kwargs

 

2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数

1 def my_len(my_def):
2      my_def.split()
3      return len(my_def)
4 res = my_len(hfweiie8832  fej中文)
5 print(res)

3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

 1 def my_fun(func):
 2     my_count = 0
 3     for i in func:
 4         my_count = my_count + 1
 5     if my_count > 5:
 6         print(你传入的对象的长度大于5)
 7     else:
 8         print(你传入的对象的长度不大于5)
 9 
10 my_fun([1,2,jdi,中文])

4、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。

1 def my_fun(func):
2     for i in func:
3         if i.isspace():
4              print(这个元素含有空内容)
5         else:
6             continue
7 
8 my_fun([ ,12,3,4,diw])

5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

1 def my_fun(func):
2     my_count = 0
3     for i in func:
4         my_count = my_count + 1
5     if my_count > 2:
6         func = func[0:2]
7         return func
8 res = my_fun([1,2,3,edj])
9 print(res)

6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

技术分享
1 def my_fun(func):
2     my_count = 0
3     func1 = []
4     for i in func:
5         my_count = my_count + 1
6         if my_count % 2 == 0:
7             func1.append(i)
8     print(func1)
9 my_fun([1,2,3,edj])
View Code

7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

技术分享
 1 def my_dict(dic):
 2     for key in dic:
 3         if len(dic[key]) > 2:
 4             dic[key] = dic[key][0:2]
 5         else:
 6             continue
 7     return dic
 8 dic = {"k1": "v1v1", "k2": [11,22,33,44]}
 9 res = my_dict(dic)
10 print(res)
View Code

8、写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。

技术分享
 1 def my_feb(n):
 2     my_count = 0
 3     arg1 = 1
 4     arg2 = 1
 5     for k in range(1,(n+1)):
 6         if my_count < n and my_count >= 2:
 7             my_count = my_count + 1
 8             arg3 = arg1 + arg2
 9             arg1 = arg2
10             arg2 = arg3
11         else:
12             my_count = my_count + 1
13             arg3 = 1
14     return arg3
15 res = my_feb(10)
16 print(res)
View Code

 

以上是关于Python开发第xxx篇 函数习题的主要内容,如果未能解决你的问题,请参考以下文章

Python开发第XXX篇:Python 函数----

Python开发第xxx篇----闭包函数

Python开发第XXX篇----函数 -名称空间与作用域

Python代码阅读(第26篇):将列表映射成字典

Python开发第xxx篇文件操作----复习

Python开发第XXX篇 基本文件操作----和永久存储