本次练习题涉及到的知识点:
- Python中函数的定义和使用
- 传入函数的参数个数不固定的使用语法
- lambda函数的使用语法
- Python异常处理的相关语法
1.关于函数的描述,错误的选项是(A)。
解析:Python使用保留字def定义一个函数。
2.以下程序的输出结果是(D)。
ab = 4
def myab(ab, xy):
ab= pow(ab,xy)
print(ab,end=" ")
myab(ab,2)
print(ab)
解析:容易出错。Python中参数传入函数后只是作为形参供函数处理,实参本身不会被修改。
3.以下程序的输出结果是(D)。
def func(num):
num *= 2
x = 20
func(x)
print(x)
4.以下程序的输出结果是(D)。
def fun1(a,b,*args):
print(a)
print(b)
print(args)
fun1(1,2,3,4,5,6)
解析:本题考虑函数传入参数个数不定的语法。
5.以下程序的输出结果是(D)。
def func(a,*b):
for item in b:
a += item
return a
m = 0
print(func(m,1,1,2,3,5,7,12,21,33))
6.下面代码的输出结果是(D)。
def change(a,b):
a = 10
b += a
a = 4
b = 5
change(a,b)
print(a,b)
7.Python语句序列的程序运行结果是(D)。
f1=lambda x:x*2
f2= lambda x:x**2
print(f1(f2(2)))
解析:本题考察Lambda函数的使用语法。
8.以下程序的输出结果是(A)。
s = 0
def fun(num):
try:
s += num
return s
except:
return 0
return 5
print(fun(2))
解析:本题考察Python异常处理的语法内容。
9.下面代码的输出结果是(D)。
ls = ["F","f"]
def fun(a):
ls.append(a)
return
fun("C")
print(ls)
10.关于Python的全局变量和局部变量,以下选项中描述错误的是(B)。
11.阅读下面的Python程序,请问绘制的图形是什么?
import turtle as t
def DrawCctCircle(n):
t.penup()
t.goto(0,-n)
t.pendown()
t.circle(n)
for i in range(20,80,20):
DrawCctCircle(i)
解析:由三个圆构成的一组同心圆。
12.经常会有要求用户输入整数的计算需求,但用户未必一定输入整数。为了提高用户体验,编写getInput()函数处理这样的情况。请补充如下代码,如果用户输入整数,则直接输出整数并退出,如果用户输入的不是整数,则要求用户重新输入,直至用户输入整数为止。
def getInput():
try:
txt=input("请输入整数:")
___
txt=input("请输入整数:")
except:
___
return eval(txt)
print(getInput())
补充完整的代码:
def getInput():
try:
txt = input() # "请输入整数: "
while eval(txt) != int(txt):
txt = input() # "请输入整数: "
except:
return getInput()
return eval(txt)
print(getInput())
13.已知有函数定义 def demo(※p):return sum( p),那么表达式 demo(1, 2, 3) 的值为()、表达式 demo(1, 2, 3, 4) 的值为()。
答案:6;10
14.表达式 [i for i in range(10) if i>8] 的值为___。
答案:[9]
15.已知函数定义 def func(*※p):return sum§,那么表达式 func(1,2,3, 4) 的值为___。
答案:10
16.阅读下面的Python语句,请问输出结果是(6)。
def recurse(n, s):
if n == 0:
print(s)
else:
recurse(n-1, n+s)
recurse(3, 0)