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

 

posted @ 2022-05-11 17:39  卜算子1937  阅读(841)  评论(0编辑  收藏  举报