函数作业

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

 1 def func(*args):
 2     list_new=[]
 3     for i in args:
 4         if i%2==1:
 5             list_new.append(i)
 6         #print(list_new)
 7     return list_new
 8 a=[1,2,3,4,5,6,7,8,9]
 9 func(*a)
10 #ret=func()    这里函数不把传递的参数加进去,返回的值就为空。
11 ret=func(*a)
12 print(ret)

修改:直接用列表切片更简单。

1 def func(l):
2     return l[0::2]
3 func((1,2,3,4,5,6,7))
4 #ret=func(l)   同上面的问题
5 ret=func((1,2,3,4,5,6,7))
6 print(ret)

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

1 def func(l):
2     sum=0
3     for i in l:
4         sum+=1
5     if sum>=5:
6         print("长度大于5")
7     else:
8         print("长度小于5")
9 func((1,23,4,5,6))

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

 1 def func(l):
 2     list_new=[]
 3     if len(l)>=2:
 4         list_new.append(l[0:2])
 5     return list_new
 6 print(func([1,2,3,4]))   #结果:[[1, 2]],如果将切片的结果在给新列表,就回出现这个问题
 7 
 8 #改:
 9 def func(l):
10     if len(l)>=2:
11         return l[0:2]      #列表的切片
12     else:
13         return None
14 print(func([1,2,3,4,5]))   #结果:[1, 2]

4、写函数,计算传入字符串中【数字】、【字母】、【空格】 以及 【其他】的个数,并返回结果。

 1 def func(l):
 2     num1=0
 3     num2=0
 4     num3=0
 5     num4=0
 6     for i in l:
 7         if i.isdigit():  #判断数字
 8             num1+=1
 9         elif i.isalpha():#判断字母
10             num2+=1
11         elif i.isspace():#判断空格
12             num3+=1
13         else:
14             num4+=1
15     return num4,num3,num2,num1
16 
17 print(func('123 asd %^&* '))

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

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

 1 #现在这个代码存在一个问题,无法遍历所有值
 2 def func(l={}):
 3 
 4     for i in l.keys():     #字典是无序的,不能用下标
 5         if len(l[i])>2:
 6             l[i]=l[i][0:2]
 7         return  l              #{'lily': 'st', 'dengxiaol': 'pipi', 'caicai': '12345678'},这个的错误是因为retrun放错了位置,吐血!!!
 8 
 9 
10 #正确
11 def func(l):
12     for k in l:
13         if len(l[k])>2:
14             l[k]=l[k][0:2]
15     return  l
16 
17 print(func({"caicai":'12345678',"lily":"str",'dengxiaol':'pipi'}))

7、写函数,接收两个数字参数,返回比较大的那个数字。

def func(a,b):
    return  max(a,b)
print(func(10,5))

猜你喜欢

转载自www.cnblogs.com/caili/p/9681441.html