习题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.不符合条件跳出循环