python基础-基础知识考试_day5 (包括:函数_递归等知识)

老男孩 Python 基础知识练习(三)

1、列举布尔值为 False 的值
空,None,0

2、写函数:
根据范围获取其中 3 和 7 整除的所有数的和,并返回调用者:符合条件的数字个数以及符合条件的数字的总和
如: def
func(start,end):

3、函数的默认返回值是什么?
None

4、简述break/continue/return的区别
Break:用于退出所有循环
continue:跳出本次循环,继续执行下次循环
return:程序返回,不再执行下面的代码

5、函数传递参数时,是引用还是复制值?并证明提示:可以用 id 进行判断

6、简述三元运算书写格式以及应用场景

python的三元运算书写格式:
变量名 = 变量1 if 条件判断成立 else 变量2

解释:条件成立 变量名值为变量1 否则为变量2

7、简述 lambda 表达式书写格式以及应用场景
1、书写格式:lambda x:x+1

2、应用场景

8、使用 set 集合获取两个列表l1=[11,22,33],l2=[22,33,44]中相同的元素集合

1 l1=[11,22,33]
2 l2=[22,33,44]
3
4 n1=set(l1)
5 n2=set(l2)
6 print(n1.intersection(n2))

执行结果:

1 {33, 22}

9、定义函数统计一个字符串中大写字母、小写字母、数字的个数,并以字典为结果返回给调用着

10、简述函数的位置参数、关键字参数、默认参数、可变长参数的特点以及注意事项

11、检查代码,如有错误请改正(禁止运行代码):

a.

1 def func(x,y,z):
2     print(x,y,z)
3
4 func(1,2,3)

输出结果为:

1 1 2 3

b.

1 def func(x,y=5,z):
2     print(x,y,z)
3
4 func(1,3,3)

输出结果为:会报错 (因为y定义了值,就不能再传值)

c.

1 def func(x,y,*z):
2     print(x,y,z)
3
4 func(1,2,3,4,5,6)

输出结果为:

1 1 2 (3, 4, 5, 6)

d.

1 def func(x,y,**z):
2     print(x,y,z)
3
4 func(1,2,3,4,5,6,6)

输出结果为:报错

e.

1 def func(x,**y,*z):
2     print(x,y,z)
3
4 func(1,2,3)

输出结果为:报错

f.

1 def func(x,*y,**z):
2     print(x,y,z)
3
4 func(1,name=2,age=3)

输出结果为:

1 1 () {‘age‘: 3, ‘name‘: 2}

g.

1 def func(x,*y,**z):
2     print(x,y,z)
3
4 func(1,2,3,4,name=2,age=3)

输出结果为:

1 1 (2, 3, 4) {‘age‘: 3, ‘name‘: 2}

h.

1 def func(x=2,*y,**z):
2     print(x,y,z)
3
4 func(name=2,age=3)

输出结果为:

1 2 () {‘age‘: 3, ‘name‘: 2}

13、书写输出结果(禁止运行代码):

a.

1 def func(*y,**z):
2     print(y,z)
3
4 func(1,2,3,4,5)

输出结果为:

1 (1, 2, 3, 4, 5) {}

b.

1 def func(*y,**z):
2     print(y,z)
3
4 func([1,2,3,4,5])

输出结果为:

1 ([1, 2, 3, 4, 5],) {}

c.

1 def func(*y,**z):
2     print(y,z)
3
4 func(*[1,2,3,4,5])

输出结果为:

1 (1, 2, 3, 4, 5) {}

d.

1 def func(*y,**z):
2     print(y,z)
3
4 func(*[1,2,3,4,5],name="alex",age=19)

输出结果为:

1 (1, 2, 3, 4, 5) {‘age‘: 19, ‘name‘: ‘alex‘}

e.

1 def func(*y,**z):
2     print(y,z)
3
4 func(*[1,2,3,4,5],{"name":"alex","age":19})

输出结果为:

1 (1, 2, 3, 4, 5, {‘age‘: 19, ‘name‘: ‘alex‘}) {}

f.

1 def func(*y,**z):
2     print(y,z)
3
4 func(*[1,2,3,4,5],**{"name":"alex","age":19})

输出结果为:

1 (1, 2, 3, 4, 5) {‘age‘: 19, ‘name‘: ‘alex‘}

14、书写执行结果(禁止运行代码)

 1 def func1(x=1,*y,**z):
 2     print(x,y,z)
 3     returny
 4     print(x)
 5
 6 def func2(arg):
 7     ret=func1(name=arg)
 8     print(ret)
 9
10 result = func2("Fuck")
11 print(result)

输出结果为:报错

15、书写执行结果(禁止运行代码)

1 def func(arg):
2     arg.append(55)
3
4 li=[11,22,33,44]
5 func(li)
6 print(li)
7 li=func(li)
8 print(li)

输出结果为:

1 [11, 22, 33, 44, 55]
2
3 None

16、书写执行结果(禁止运行代码)

 1 def f1(arg):
 2     print(arg+100)
 3
 4 def f2(arg):
 5     ret=f1(arg+1)
 6     print(arg)
 7     print(ret)
 8
 9 ret=f2(7)
10 print(ret)

输出结果为:

1 108
2 7
3 None
4 None

17、简述 Python3 中的 range 函数和 Python2.7 中的 range 函数有什么区别?
答:区别:在于返回值的不同

python2.x中的range返回的是一个列表

1 >>> range(1,10)  #打印出1-10的数字,python默认从0开始
2 [1, 2, 3, 4, 5, 6, 7, 8, 9]

python3.x中的range返回的是一个迭代值

#错误的方法

1 >>> range(1,10)
2 range(1, 10)

#正确的方法,要想打印出列表,需要加list

1 >>> list(range(1,10))
2 [1, 2, 3, 4, 5, 6, 7, 8, 9]

18、书写执行结果(禁止运行代码)

a、

1 a="oldboy%"
2 print(a)

输出结果为:

1 oldboy%

b、

1 b="oldboy%d%%"%(12,)
2 print(b)

输出结果为:

1 oldboy12%

19、简述对象和类的关系

20、书写执行结果(禁止运行代码)

1 def func(a1):
2     returna1 + 100
3
4 func = lambda a1:a1 + 200
5
6 ret = func(10)
7 print(ret)

输出结果为:

1 210

21、内置函数 all 和 any 的区别

答:any是任意,而all是全部。

all   : 当传入空可迭代对象时返回True,当可迭代对象中有任意一个不为True,则返回False

any : 当传入空可迭代对象时返回False,当可迭代对象中有任意一个不为False,则返回True

22、简述文件打开模式‘r‘和‘rb‘的区别

23、将字符串"老男人"转换成 UTF-8 编码的字节类型

24、利用内置函数将十进制数字12,分别转换成二进制、八进制、十六进制表示的字符串

25、简述内置函数 globals()、locals()作用

26、利用内置函数 zip(),实现功能

l1=["alex",22,33,44,55]
l2=["is",22,33,44,55]
l3=["good",22,33,44,55]
l4=["guy",22,33,44,55]

请获取字符串s="alex_is_good_guy"

27、判断输出结果是否相同?并可得到什么结论?

deff1(arg):
print(id(arg))

n=1111111
print(id(n))
f1(n)

输出的两个值是否相同:

28、书写执行结果(禁止运行代码)
a.
NAMELIST=["alex","eric"]

deffunc():
NAMELIST=123

func()

print(NAMELIST)

输出结果为:

b.
NAMELIST=["alex","eric"]

deffunc():
globalNAMELIST
NAMELIST=123

func()

print(NAMELIST)
输出结果为:

c.

NAMELIST=["alex","eric"]

deffunc():
NAMELIST.append("seven")

func()

print(NAMELIST)

输出结果为:

d.
NAMELIST=["alex","eric"]

deffunc():
NAMELIST=123
globalNAMELIST

func()
print(NAMELIST)

输出结果为:

29、书写执行结果(禁止运行代码)
a.
name="root"
deffunc():
name="seven"
defouter():
name="eric"
definner():
globalname
name="蒙逼了吧..."
print(name)
print(name)

ret=func()
print(ret)
print(name)

输出结果为:

b.

name="root"
deffunc():
name="seven"
defouter():
name="eric"
definner():
globalname
name="蒙逼了吧..."
print(name)
o=outer()
print(o)
print(name)

ret=func()
print(ret)
print(name)

输出结果为:

c.
name="root"
deffunc():
name="seven"
defouter():
name="eric"
definner():
globalname
name="蒙逼了吧..."
print(name)
inner()
o=outer()
print(o)
print(name)

ret=func()
print(ret)
print(name)

输出结果为:

d.

name="root"
deffunc():
name="seven"
defouter():
name="eric"
definner():
nonlocalname
name="蒙逼了吧..."
print(name)
inner()
o=outer()
print(o)
print(name)

ret=func()
print(ret)
print(name)

输出结果为:

30、书写执行结果并解释每一步操作

a.
name="苍老师"

defouter(func):
name=‘alex‘
func()

defshow():
print(name)

outer(show)

b.
name="苍老师"

defouter():
name="波多"
definner():
print(name)
returninner()

ret=outer()
print(ret)

输出结果为:

c.
name="苍老师"

defouter():
name="波多"
definner():
print(name)returninner

ret=outer()
ret()
print(ret)
result=ret()
print(result)

输出结果为:

d.
name="苍老师"

defouter():
name="波多"
definner():
print(name)
returninner

ret=outer()
print(ret)
result=ret()
print(result)

输出结果为:

e.
name="苍老师"

defouter(func):
definner():
name="李杰"
func()
returninner

defshow():
print(name)

outer(show)()

31、书写执行结果并解释每一步操作

a.
defouter(func,z,y):
func(z)

defshow(x):
returnx*x

ret=outer(show,9,23)
print(ret)

输出结果为:

b.

defouter(func,z,y):
returnfunc(z)

defshow(x):
returnx*x

ret=outer(show,9,23)
print(ret)

输出结果为:

c.

defouter(func,z,y):
func(z,y)

f1=lambdax,y:x+y

ret=outer(f1,11,23)
print(ret)

输出结果为:

d.

defouter(func,z,y):
returnfunc(z,y)

f1=lambdax,y:x+y

ret=outer(f1,11,23)
print(ret)

输出结果为:

32、写输出结果

a.
deff5(arg):
arg.append(‘偷到 500 万‘)

deff4(arg):
arg.append(‘开第四个门‘)f5(arg)
arg.append(‘关第四个门‘)

deff3(arg):
arg.append(‘开第三个门‘)
f4(arg)
arg.append(‘关第三个门‘)

deff2(arg):
arg.append(‘开第二个门‘)
f3(arg)
arg.append(‘关第二个门‘)

deff1(arg):
arg.append(‘开一个门‘)
f2(arg)
arg.append(‘关一个门‘)

user_list=[]
result=f1(user_list)
print(user_list)
print(result)

输出结果为:

b.
deff5(arg):
arg=arg+5

deff4(arg):
arg=arg+4
f5(arg)
arg=arg+4

deff3(arg):
arg=arg+3
f4(arg)
arg=arg+3

deff2(arg):
arg=arg+2
f3(arg)
arg=arg+2

deff1(arg):
arg=arg+1
f2(arg)
arg=arg+1num=1
result=f1(num)
print(num)
print(result)

输出结果为:

c.
deff5(arg):
arg=arg+5
returnarg

deff4(arg):
arg=arg+4
f5(arg)
arg=arg+4

returnarg

deff3(arg):
arg=arg+3
f4(arg)
arg=arg+3returnarg

deff2(arg):
arg=arg+2
f3(arg)
arg=arg+2
returnarg

deff1(arg):
arg=arg+1
f2(arg)
arg=arg+1
returnarg

num=1
result=f1(num)
print(num)
print(result)

输出结果为:

33、利用递归实现32 题中c题的功能33、利用递归实现1*2*3*4*5*6*7

34、写程序

a.利用filter、自定义函数获取 l1 中元素大于 33 的所有元素l1=[11,22,33,44,55]

b.利用filter、lambda 表达式获取 l1 中元素小于 33 的所有元素l1=[11,22,33,44,55]

c.利用map、自定义函数将所有是奇数的元素加 100l1=[11,22,33,44,55]

d.利用map、lambda 表达式将所有是偶数的元素加 100l1=[11,22,33,44,55]

35、写程序
a.文件操作时 with 的作用?
b.写程序:利用 with 实现同时打开两个文件(一读,一写,并将读取的内容写入到写入模式的文件中)

36、写函数:
如有以下两个列表
l1=[...]
l2=[]
第一个列表中的数字无序不重复排列,第二个列表为空列表
需求:
取出第一个列表的最小值放到第二个列表的首个位置,
取出第一个列表的最小值(仅大于上一次的最小值)放到第二个列表的首个位置,
取出第一个列表的最小值(仅大于上一次的最小值)放到第二个列表的首个位置,
...
依此类推,从而获取一个有序的列表 l2,并将其返回给函数调用者。

deffunc(l1,l2):
pass

37、猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多吃了一个。以后每天都吃前一天剩下的一半再加一个。到第 10 天刚好剩一个。问猴子第一天摘了多少个桃子?

解题思路:

这题得倒着推。第10天还没吃,就剩1个,说明第9天吃完一半再吃1个还剩1个,假设第9天还没吃之前有桃子p个,可得:p * 1/2 - 1 = 1,可得 p = 4。以此类推,即可手算出。

代码思路为:第10天还没吃之前的桃子数量初始化 p = 1,之后从9至1循环9次,根据上述公式反推为 p = (p+1) * 2 可得第1天还没吃之前的桃子数量。for循环中的print()语句是为了验证推算过程而增加的。

代码如下:

1 p = 1
2 print(‘第10天吃之前就剩1个桃子‘)
3 for i in range(9, 0, -1):
4     p = (p+1) * 2
5     print(‘第%s天吃之前还有%s个桃子‘ % (i, p))
6 print(‘第1天共摘了%s个桃子‘ % p)

执行结果:

 1 第10天吃之前就剩1个桃子
 2 第9天吃之前还有4个桃子
 3 第8天吃之前还有10个桃子
 4 第7天吃之前还有22个桃子
 5 第6天吃之前还有46个桃子
 6 第5天吃之前还有94个桃子
 7 第4天吃之前还有190个桃子
 8 第3天吃之前还有382个桃子
 9 第2天吃之前还有766个桃子
10 第1天吃之前还有1534个桃子
11 第1天共摘了1534个桃子
时间: 2024-10-19 05:27:02

python基础-基础知识考试_day5 (包括:函数_递归等知识)的相关文章

python基础-函数_递归_内置函数

一 数学定义的函数与python中的函数 二 为何使用函数 背景提要 三 函数和过程 四 函数参数 五 局部变量与全局变量 六 前向引用之'函数即变量' 七 嵌套函数 八 递归 九 匿名函数 十 函数式编程 十一 内置函数 十二 本节作业 一.数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数.自变量x的取值范围叫做这个函数的定义域

Python入门基础知识实例,值得收藏!

7月的编程语言指数榜已经发布,Python 在今年5月首次超越 Java 拿下榜首位置后,仍保持上涨趋势,正逐渐与 Java 拉开差距.(图为与去年 7 月数据对比) 上周为大家简单介绍了如何安装Python和配置环境?相信大家都将Python安装成功了吧~今天小白就为大家分享一些Python的基础知识,希望大家都能快速入门Python~ 1.在Python 语言中,对象是通过引用传递的. 在赋值时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量. 如:x=

python 零基础 基本知识(三)

python 语言基础 (零基础)  本节内容:  1.变量 2.基本数据类型 一.变量  1.变量的定义: 在python 当中,变量严格意义上应称为 "名字" ,也可以理解为标签.  比如把 "我是DJ" 这个值赋给python, 那么python就是变量.      2.变量的使用    在python 中,不需要先声明变量名及其类型, 直接赋值即可创建各种类型的变量.但是变量的命名并不是随意的.应遵循以下几条规则: * 变量名必须是一个有效的标识符.   

证券投资基金基础知识考试大纲(2015年度)

证券投资基金基础知识考试大纲(2015年度) 导读: 证券投资基金基础知识考试大纲(2015年度)已公布,考试大纲自2015年7月16日通知发布之日起开始实施. 基金从业资格全国统一考试大纲——证券投资基金基础知识(2015年度) 一.总体目标 为确保基金从业人员掌握与了解基金行业相关的基本知识与专业技能,具备从业必须的执业能力,特设<证券投资基金基础知识>科目. 报名动态:2016年基金从业资格考试时间 |2016年基金从业资格考试报名时间 二.能力等级 能力等级是对考生专业知识掌握程度的最

Python基础学习笔记(十一)函数与模块

参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 4. http://www.runoob.com/python/python-modules.html 5. http://www.pythoner.com/ 6. http

python入门基础-三元表达式、命名空间、作用域、函数名本质、闭包

1.三元表达式(三目运算式) #1 三元表达式(三目运算法) #格式为: 为真时的结果 if 判定条件 else 为假时的结果 #另外三元表达式只适合较为简洁的条件判定,较为复杂的判定建议不要用这种方式写代码,因为比较让他人难以理解. a = 10 b = 15 compare = a if a > b else b #谁大返回谁 print(compare) 2.命名空间(namespace) #2 命名空间(namespace) #命名空间是名称和对象的印象,也可以将命名空间理解成一个字典,

【python基础】函数_函数及调用

1.函数概述 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数–封装独立功能 2.调用函数–享受封装的成果 函数的作用:在开发程序时,使用函数可以提高编写的效率以及代码的重用 2.调用函数 python内置了很多有用的函数,我们可以直接调用. 可以直接从Python的官方网站查看文档: http://docs.python.org/3/library/functions.html#abs Python内置的常用函数还包括数据类型转换函

Python基础之内置函数和递归

本文和大家分享的主要是python中内置函数和递归相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.内置函数 下面简单介绍几个: 1.abs() 求绝对值 2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回  True 3.any() 如果 iterable 的任何元素为真,则返回  True .如果iterable为空,则返回  False 4.callable() 如果  object 参数出现可调,则返回  True ,否则返回  Fal

Day3 - Python基础3 函数、递归、内置函数

1.函数基本语法及特性 函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method. 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可