目录
(3)函数传递时,用基本数据类型和组合数据类型作参数,有什么区别?请举例说明。
(4)在内置函数中,列出5种常用的数学运算函数和字符运算函数。
(1)编写函数isodd(x),如果x不是整数,给出提示后退出程序;如果x是奇数,返回True;如果x为偶数,返回Flase 。
(2)编写函数change(str1),其功能是对参数str1进行大小写转换,将大写字母转换成小写字母;将小写字母转换成大写字母;非英文字符不转换。
(3)编写并测试函数gcd(m,n)和lcm(m,n),其功能是求两个整数m,n的最大公约数和最小公倍数。
(4)编写并测试函数reverse(x),输入一个整数,并将各位数字反转后输出。
(5)用递归方法反转一个字符串,如“abcde”,反转为“edcba”。
(6)编写程序求1^2-2^2+3^2-4^2+…………+97^2-98^2+99^2。
一.选择题
1.B 2.D 3.D 4.B 5.C 6.B 7.C 8.D
9.D
可变参数一般要在传统参数之后,传统参数在指定时必须明确指定名称,而可变参数是用于处理不定数量的参数,再说一下默认参数,没有传入值时,参数的值就默认了。比如def c(a=2),假如没有传入值时,a就等于2
10.A
11.C
从用户输入的字符串中删除所有非数字字符,然后打印结果,如果w不是列表,而是字符串,你可以使用类似方法遍历
12.A
你用global在函数内声明 z 为全局变量,你可以在函数内改变全局变量z的值,通过代码,我们可以看出z的值被改为了36,先打印z原先的值,最后打印调用loc_glo()后的值,所以最后打印出来就是10 36
二.简答题
(1)什么是函数的嵌套定义?请举例说明。
在函数内部定义的函数,但内嵌的函数只能在该函数内部使用。
def sum(n): def fact(a): 函数体 函数体 #需要注意的是内嵌函数只能在该函数内部使用
(2)函数的可变参数有哪几种?各有什么特点?
1.不定长位置参数:通常情况下,在参数名前加上星号*,可以让函数接受任意数量的位置参数,这些参数将被封装为一个元组。 def func(*args): pass func(1,2,3) #args=(1,2,3) 2.不定长关键字参数:通常在参数名前加上双星号**,可以让函数接受任意数量的关键字参数,这些参数将被封装为一个字典。 def func(**kwargs): pass func(a=1,b=2,c=3) #kwargs={'a':1,'b':2,'c':3}
(3)函数传递时,用基本数据类型和组合数据类型作参数,有什么区别?请举例说明。
基本数据类型是指不能再细分的数据类型,通常包括整数(int)、浮点数(float)、布尔值
(bool)
、字符串(str)
等。这些数据类型是不可变的,也就是说它们的值一旦创建就不能被修改,任何对它们的操作都会返回一个新的值。
#example x=5 y=x #将x的值赋给y x=10 #修改x的值 print(y) #输出结果为5,因为整数是不可改变的,y的值不受x修改的影响组合数据类型是指可以包含多个元素的数据类型,通常包括列表(list)、元组(tuple)、集合(set)、字典(dict)等。
这些数据类型是可变的,也就是说它们的值可以被修改,可以添加、删除或修改其中的元素。
#列表是一个组合数据类型 list1=[1,2,3] list2=list1 list1.append(4) print(list2) #输出结果为[1,2,3,4],因为列表是可变的,list2的值受list1影响
(4)在内置函数中,列出5种常用的数学运算函数和字符运算函数。
数学运算函数:
abs(x):返回x的绝对值。
round(x,[n]):将x四舍五入到指定的小鼠位数n,默认为0。
max(iterable,[key])
:返回可迭代对象中的最大值,或者多个参数中的最大值
min(iterable,[key])
:返回可迭代对象中的最小值,或者多个参数中的最小值
sum(iterable,[key])
:返回可迭代对象元素中的所有元素的和,可指定初始值为start字符运算函数:
len(s):
返回字符串s的长度(字符数或元素数)
str(x):
将对象x转换为字符串表示形式
chr(i):
返回Unicode码位i对应的字符
ord(c):
返回字符c对应的unicode
码位format(value,format_spec):根据指定的格式化字符串format_spec,格式化值value,并返回结果字符串
(5)global语句的功能是什么?
用于在内部函数声明全局变量
(6)什么是默认参数?
默认参数是在定义函数时给参数指定的一些默认值。当函数被调用时,如果没有给定这些参数的值,那么就会使用默认参数值。默认参数使得函数调用时更加灵活,可以省略一些常用的参数,同时也可以在需要时指定不同的值。