py的函数及练习 12.21
来源:互联网 发布:python cookie文档 编辑:程序博客网 时间:2024/06/05 03:19
函数:
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
可以将元组字典列表的字符串类型转换成元组字典列表
eval
功能:将字符串str当成有效的表达式来求值并返回计算结果。
语法: eval(source[, globals[, locals]]) -> value
参数:
source:一个Python表达式或函数compile()返回的代码对象
globals:可选。必须是dictionary
locals:可选。任意map对象
1. 函数的定义和调用
(1) 函数是组织好的,可以重复使用,用来实现单一 和相关联功能的代码段
(2) 函数代码块以def关键词开头,后接函数标识符名称和圆括号 ()。
(3) 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
(4) 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
(5) return[表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。
2. 语法.
(1) Def函数名(参数列表):
函数体
return
3. 参数
(1) 不可变类型
(2) 关键字参数**
① 关键字参数允许你传入0个或者任意不含参数名的参数,这些关键字参数在函数内部自动组装为一个dictionary
② 如果传参数必须传键值对类型的参数,可以有多个
③ 也可以将一个元组,字典或者列表传进去,但是需要在前面加**,可以把列表元组字典里面的东西取出来
④
(3) 默认参数
①
(4) 不定长参数
(5) 可变参数*
① 把参数归入一个元组中
② 一个可变参数,传值的时候可以传一系列值
③ 也可以将一个元组或者列表传进去,但是需要在前面加*,可以把列表元组里面的东西取出来
④ 可变参数要写在后面
⑤ 可以不传参数
4. * 可以充当分隔符
练习:作业:1、简述普通参数、指定参数、默认参数、动态参数的区别必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。调用函数时,如果没有传递参数,则会使用默认参数。加了星号(*)的变量名会存放所有未命名的变量参数。如果在函数调用时没有指定参数,它就是一个空元组。 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数def strs(): a = 0 b = 0 c = 0 d = 0 aa = str(input('请输入')) for i in aa : if i.isdigit(): a += 1 elif i.isalpha(): b += 1 elif i == ' ': c += 1 else: d += 1 print('数字有:',a) print('字母有:',b) print('空格有:',c) print('其他有:',d)3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。def pd(*aa): if aa.__len__() > 5: print('大于五') elif aa.__len__() == 5: print('等于五') else:print('小于五')aa =['a,','for ',123,55,3]pd(*aa) 4、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。def jc(*qq): if qq.count(' ') == 0: print('没有') else:print('有')ca = input('>>>')jc(*ca) 5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。def cr(ls): cc = [] ls = list(ls) if len(ls) > 2: del ls[2:] return lsls = [1,2,3,4,5,6]r = cr(ls)print(r) 6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。def ind(cc): c = [] for i in range(0,len(cc)): if i % 2 == 0: c.append(cc[i]) else:pass return ccc = [1,2,3,4,'a']r = ind(cc)print(r)7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。def zd(dict): ret = {} for key,value in dict.items(): if len(value) > 2: ret[key] = value[0:2] else:ret[key] = value return retdict = {'Alice': ['2341','sad','asdasd','asd'], 'Beth': '9102', 'Cecil': '3258'}c = zd(dict)print(c)8、写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。def dg(): q = [] a, b = 0, 1 while b < 100: a, b = b, a + b q.append(b) if q.__len__() == 10: return bprint(dg())9、将通讯录管理系统改成函数的形式实现10.实现百钱买百鸡,公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。公鸡 = x 母鸡 = y 小鸡 = z5x+3x+z/3 = 100for i in range(1,100): for j in range(1, 100): for k in range(1, 100): if 5*i+3*j+k/3 == 100 and i+k+j == 100: print('公鸡',i,end=' ') print('母鸡',j,end=' ') print('小鸡',k,end=' ') print()
思考题:有10个数逢三退出最后剩几?用py写出来
- py的函数及练习 12.21
- py的字符串知识及基本练习 12.15
- 阅读mnist_softmax.py的一些基础练习。
- 函数总结及函数练习
- 同一文件夹下.py调用另一个.py文件的函数
- py 函数
- py 函数
- py函数
- 【python 练习】read_first_20line.py
- 递归函数及可变参数的几个经典编程练习
- 调用其他文件py文件的函数
- python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法
- 需要练习的函数
- java函数的练习
- 函数的简单练习
- 简单函数的练习
- 数组函数的练习。
- py练习——计蒜客
- Python模拟登录东北大学教务处
- 8.dubbo点对点直连、只注册、只订阅、开启服务人工管理上下线
- Ubuntu的web服务器搭建系列之MySQL(JDK+Tomcat+MySQL+Nginx+Redis+NodeJS)
- 正则表达式
- JavaScript设计模式系列一:工厂模式
- py的函数及练习 12.21
- linux后台运行相关命令
- Springboot 中同时使用mybatis注解和springbean-xml配置方式
- bzoj2705: [SDOI2012]Longge的问题(数论)
- WebShell概述
- python2安装MySQLdb
- servlet--监听器
- 命令行参数
- 存储在变量 sys.argv 中