第四讲作业
1、简述普通参数、指定参数、默认参数、动态参数的区别
- 普通参数:以正确的顺序传入函数,调用时数量必须和声明的一样。
- 指定参数:参数和函数调用关系密切,函数调用使用使用关键字参数来确定传入的参数值,参数允许函数调用时参数的顺序和声明时不一致。
- 默认参数:函数进行调用时,如果没有新的参数传入则默认的情况下,就调用默认参数
- 动态参数:个函数能处理比当初声明时更多的参数,这些参数叫动态参数
2、写函数,计算传入的字符串中数字、字母、空格、以及其他的个数
#####判断字母数字出现的次数######## def func1(s):#定义一个函数 #字符串中出现的数字、字母、空格等其他的符号,初始值为0 zimu_num = 0 kongge_num = 0 shuzi_num = 0 qita_num = 0 for i in s:#对字符串进行循环判断 if i.isalpha(): zimu_num += 1 elif i.isspace(): kongge_num += 1 elif i.isdigit(): shuzi_num += 1 else: qita_num += 1 return (zimu_num,kongge_num,shuzi_num,qita_num)#把所有的结果返回到一个元组中 m = func1("wewqe-*- **-wqeqe")#调用func1函数 print(m)打印出函数的结果
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
###对象长度####### def func1(s,li,tup): zi = len(s) li = len(li) tup = len(tup) if zi > 5: print("shi") else: print("bushi") if li > 5: print("shi") else: print("bushi") if tup > 5: print("shi") else: print("bushi") return(zi,li,tup)#return返回的是字符、列表、元组的长度 m = func1("kwkwqehk",[11,22,33],(1,"215",5,6,59,6)) print(m)#m是函数体中判断产生的结果
4、写函数检测用户传入的对象(字符、列表、元组)的每一个元素是否有空内容。
def f1(o): for i in a: i = str(i) if ' ' in i: return ('空格:',i) else: return ('没空格') a = ('q qer','adf') ret = f1(a) print(ret)
5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
#####列表长度判断##### def func1(li): len_li = len(li) if len_li > 2: print("列表长度大于2") li1 = li[0:2] return(li1) m = func1([11,22,"ddw",4]) print(m)#相当于返回值
6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def func1(li,tup): l1 = [] t1 = [] for i in range(len(li)): if i % 2 == 1: l1.append(li[i]) print(l1) for p in range(len(tup)): if p % 2 ==1: t1.append(tup[p]) print(t1) return (l1,t1) m = func1([11,22,33,55,64],(156,1321,54,5663,11)) print(m)
7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]} PS:字典中的value只能是字符串或列表
方法一
dic = {"k1": "v1v1", "k2": [11,22,33,44] } dic1 = { } m = dic["k1"] n = dic["k2"] if len(m) > 2: p = m[0:2] print(p) if len(n) > 2: q = n[0:2] print(q) dic1["k1"] = p dic1["k2"] = q print(dic1)
方法二
def f5(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] } r = f5(dic) print(r)
预习的内容