python期末复习(5.1)
第5章课后小测-1
1、def vfunc(*a,b)函数定义有误,因为*星号是用来设计可变数量参数的,而带有星号的可变参数只能出现在参数列表的最后。
2、
def my_function(*ks): print(ks[-1]) my_function("a", "b", "c")
输出结果是c
3、
def test(): return 'abc', 100, [0, 1, 2] a, b, c = test() print(c)
输出结果是[0,1,2]
4、
def f(s): return s*2
函数调用出错的是f(('a')) #注:个人觉得答案错了
5、关于lambda函数,lambda是python的保留字
6、提高代码执行速度不是函数作用
7、不正确的说法:参数的值是否改变与函数中对变量的操作有关,与参数类型无关
8、函数eval()可以用于数值表达式求值,例如eval("2*3+1")
9、
def f(a,b): a=4 return a+b def main(): a=5 b=6 print(f(a,b),a+b) main()
输出结果是10 11
10、
def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+a
执行该程序后,变量c的值为200
11、全局变量与局部变量可以重名
12、自定义函数调用前必须定义
13、
f=lambda x,y:y+x f(10,10)
输出结果是20
14、程序在调用时,将实参复制给函数的形参
15、函数可以没有return语句
16、使用函数的目的是降低编程难度和代码重用
17、对函数的使用不是必须了解其内部实现原理
18、调用函数时,如果没有指定参数名称,参数之间的顺序不可以随意调整
19、
def f(s): return s+s print(f((1,2)))
执行结果是(1,2,1,2)
20、
c=1 def add(): c=100 return c+1 print("{},{}".format(add(),c))
程序的执行结果是101,1
21、关于函数定义def vfunc(a,*b),函数调用错误的是vfunc()
22、
s = 0 for i in range(2,7): if i%2==1: s = s + i else: s = s + 1
执行后s的值是11,i的值是6
23、
s = 0 for i in range(1,20,3): if i%5==0: continue elif i>8: break else: s = s -1 s = s + i else: s = s + 10
执行结果是s的值为9
24、
for i in range(3): for s in "scut": print(s,end="") if i==1: break else: print(s,end='')
运行结果是scuttsscutt
25、
for i in range(3): for s in "china": print(s,end="") if i==1 or s=="i": break else: print(s,end='') else: print(i)
运行结果是chicchi2
26、
for i in range(3): for s in "china": if i==1 or s=="i": break print(s,end="") else: print(s,end='') else: print(i)
运行结果是chch2
27、
for i in range(3): for s in "china": if i==1 or s=="i": break print(s,end="") else: print(s,end='') else: print(i)
s的值是5,i的值是6
28、代码循环遍历列表fruits中的每个元素
fruits = ["apple", "banana", "cherry"] for x in fruits[0:len(fruits)]: print(x)
29、
txt="Hello World" for c in range(len(txt)-1,-1,-1): print(txt[c], end="") print("\n")
30、
for i in range(3): for s in "china": print(s,end="") if i==1 and s=="i": break else: print(s,end='') else: print(i)
运行结果是chinaachichinaa2
31、
if score<=90: grade='A' if score<=80: grade='B' if score<=70: grade='C' else: grade='D'
当score的值为85时,grade的值为D
32、
for s in "scut": if s=="c": continue for i in range(5): print(s,end='') if i==2 or s=='u': break
运行结果是sssuttt
33、
s=0 for i in range(1,10): s=s+i if i % 5==0 : print(i*i) break else: s=s+i print(i) print(s)
#输出结果是
25
15
34、
a = [1,2,3,4] for i in a: if i%2==0: print(i)
#运行结果是
2
4