习题1

1.什么是局部变量?函数内定义的变量是 局部变量

2.什么是全局变量?如果一个变量,能在一个函数使用,又能在其他函数内使用,即是全局变量

3.局部变量和全局变量有什么区别?(提示:两者的定义、引用、修改)定义:

全局变量定义在全局空间,函数外部

局部变量定义在函数内部

引用:

全部变量被全局引用

局部变量只能在函数内被引用,其他函数不能引用

修改:

局部变量在函数内修改不受限制

全局变量修改受限制,要声明(global)

4.如果全局变量和局部变量同名会发生什么效果?函数内使用局部变量

函数外的其他函数使用全局变量

习题2

1.函数中return的作用运行到return会停止执行函数,并返回函数运行的结果给函数调用者

2.函数中如果有多个return,会是什么效果只有一个return会被执行,

一旦执行,其他return都会终止

3.python中函数的参数类型有哪些位置参数:形参,实参,

缺省参数:带有默认值的参数

不定长参数:可变参数args ,关键字参数kwargs

4.什么是缺省参数带有默认值的参数

5.什么是不定长参数有*或**,可接受0个火多个参数

可变参数args ,关键字参数kwargs

6.定义一个使用不定长参数的函数,并在函数中打印出参数及其类型,统计传入参数的个数,


7.定义一个函数max,接受的参数类型是数值,最终返回两个数中的最大值


8.定义一个函数min,接受的参数类型是数值,最终返回两个数中的最小值


9.分别定义加减乘除四个函数实现两个数之间的加减乘除操作


习题3

1.定义函数findall,实现对字符串find方法的进一步封装,要求返回符合要求的所有位置的起始下标,如字符串"helloworldhellopythonhelloc++hellojava",需要找出里面所有的"hello"的位置,最后将返回一个元组(0,10,21,29),即将h的下标全部返回出来,而find方法只能返回第一个


找出字符间隔位置


整体逻辑过程:

1.定义函数接收字符串,和切割字符串的字符

2.判断间隔符是否为空值,如果是空值,返回列表,不为空,继续运行下面代码

3.设置while循环,用string.find找出分割符的索引位置,

4.判断索引位置是否是列表最后一位元素-1,如果不是继续判断列表ret长度是否为0

5.如果不是0,添加索引位置在列表ret最后一位元素后面+索引位置+分隔符的长度

6.如果是0,添加索引位置在列表ret后面+分隔符的长度

7.将收到string变量的字符索引+分隔符的长度,用切片:切除,剩下未判断的字符串,赋值给string

8.不符合条件跳出循环