12.20
来源:互联网 发布:网络基础技术视频教程 编辑:程序博客网 时间:2024/06/05 17:09
笔记:
1. 函数
(1) 函数是组织好的 可重复使用的某功能的代码块
(2) 函数的定义和调用
语法:def 函数名(参数):
函数体
return XXX
定义:def test1():
print(‘hello’)
调用:test1()
(3) 参数类型
① 可变/不可变参数
1) 可变:字典 列表
2) 不可变:数值 字符串元祖
② 关键字参数(要写在后面)
1) *args 代表元祖/列表 可以不传参
2) **kwargs 代表字典
③ 默认参数(缺省参数,必须写在后面)
④ 不定长参数
⑤ 参数组合
作业:
# # 12.19作业:# # 1、简述普通参数、指定参数、默认参数、动态参数的区别# # 普通参数:就是放入一个形参,当放入实参时,需要按照顺序给形参值。# # 指定参数:放入实参时是指定的,不用按照顺序给形参,都能让形参获得相应的参数。# # 默认参数:在形参内指定一个参数,需要放在形参的最后面。当实参没有给值时,就默认是形参的值。# # 动态参数:格式:*args 和 **kwargs 前面一个保存为元组,后面一个保存为字典。# # 2、写函数,计算传入字符串中【数字】、【字母】、【空格】 以及 【其他】的个数# def test2(a):# sz = 0# zm = 0# kg = 0# qt = 0# for i in a:# if i.isdigit():# sz+=1# elif i.isalpha():# zm+=1# elif i==' ':# kg+=1# else:# qt+=1# print('数字有:%d,字母有:%d,空格有:%d,其他:%d'%(sz,zm,kg,qt))# test2('jiu 12 5 去 2525年份喊打jj++-**')# # 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。# def test3(*b):# if len(*b)>5:# print('长度大于5')# else:# print('长度小于5')# # print(*b)# test3('asdadaa')# # 4、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。# def test4(*a):# for i in tuple(*a):# if i==None or i==() or i==[]:# print('有空内容')# break# else:# print('没有空内容')## # print(i)# test4('')## # 5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。# def test5(*a):# if len(list(*a))>2:# print('长度大于2,保留结果为:', list(*a)[0:2])# return list(*a)[0:2]# else:# print('长度小于2')# test5([1,2,5,6])# # 6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。# def test6(*a):# tplist=[]# for i in range(0,len(list(*a))):# if i%2==1:# tplist.append(list(*a)[i])# return tplist# print(test6([1,2,3,4,5,6,7]))# # 7、写函数,检查传入字典的每一个value的长度,# # 如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。# def test7(**a):# for key in a.keys():# print(key)# if len(a[key])>2:# a[key]=a[key][0:2]# print(a)# return a# test7(k1='125',k2='2222')# 8、写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。def test8(x): if x==1: return 1 elif x==2: return 1 else: return test8(x-1)+test8(x-2)print(test8(10))# 9、将通讯录管理系统改成函数的形式实现# 10.实现百钱买百鸡,公鸡一只5钱,母鸡一只3钱,小鸡1钱3只# for i in range(0,101):# if i%3==0:# for j in range(0,101-i):# if (100-i-j)*5+i//3+j*3==100:# print(i,j,100-i-j)# 11.实现100和尚吃100馒头# for i in range(0,100):# if i%3==0:# if i//3+(100-i)*3==100:# print(i,100-i)# 12.10个数字,每3个除去,剩几?list = [1,2,3,4,5,6,7,8,9,10]list1 = [1,2,3,4,5,6,7,8,9,10]list2 = []list3 = []list4 = []while True: if len(list2)==9: for i in list1: if i not in list2: print('最后一个数为:',i) break else: list2 = [] list3 = [] list4 = [] for i in range(0,len(list)): if i%3==2: list2.append(list[i]) #存储上一轮遗留下来的数字 else: list3.append(list[i]) #存储上一轮删除的数字 list4 = list3[::-1][0:(10-len(list2))][::-1] #存储每一轮在10个数中留下的数字 list += list4
阅读全文
0 0
- 12.20
- 12.20
- 12.20
- 12.20
- 12.20
- 12.20总结
- 12.20笔记
- Reflection2017.12.20
- 12.20学习计划
- 12.20调试笔记
- 每日一题12.20
- GDOI2015模拟12.20小结
- 小程序12.20
- 每周一报 12.20
- C++ primer学习12.20
- 12.20 session+model+redirect
- 12.20培训日记
- 12.20 路径跳转问题
- 数据的标准化处理
- UML 的九种模型图.UML用例图.ER图.UML项目结构图总结
- thrift 编译报错 undefined reference
- python数据写入csv问题
- leetcode习题解答:45. Jump Game II
- 12.20
- Hopcroft-Karp算法代码解释:
- 20171221_C语言学习
- cisco静态路由的详细配置
- yolo训练自己的数据集
- 机器学习教程 之 支持向量机:模型篇1—支持向量与间隔
- 密码学原理_Crypto++实现SHA-1近似碰撞寻找
- hdu 找新朋友
- javascript换行问题