单项选择题4. 给出如下代码:
import turtle
def drawLine(draw):
turtle.pendown()if draw else turtle.penup()
turtle.fd(50)
turtle.right(90)
drawLine(True)
drawLine(0)
drawLine(True)
drawLine(True)
turtle.left(90)
drawLine(0)
drawLine(True)
drawLine(True)
以下选项中描述错误的是
- A.运行代码,在Python Turtle Graphics中,绘制一个数码管数字2
- B.代码drawLine(True)中True替换为0,运行代码结果不变
- C.代码drawLine(True)中True替换为-1,运行代码结果不变
- D.代码def drawLine(draw)中的draw可取数值0、1、-1等
A B C D
5. 下列代码的输出结果是______。
ls=[[0,1],[5,6],[7,8]]
lis=[]
for i in range(len(ls)):
lis.append(ls[i][1])
print(lis)
- A.[1,6,8]
- B.[0,5,7]
- C.[0,6,8]
- D.[0,1]
A B C D
A
[解析] len()方法获得列表ls的长度,range()方法起到循环次数的作用,append()方法在列表lis最后增加元素。列表ls存储的元素是列表,访问时需要使用索引嵌套。
6. 下面代码的输出结果是
def f2(a):
if a>33:
return True
li=[11,22,33,44,55]
res=filter(f2,li)
print(list(res))
- A.[44,55]
- B.[33,44,55]
- C.[22,33,44]
- D.[11,33,55]
A B C D
8. 以下代码的输出结果是______。
a=[[1,2,3],[4,5,6],[7,8,9]]
s=0
for c in a:
forj in range(3):
s+=c[j]
print(s)
- A.[1,2,3,4,5,6,7,8,9]
- B.45
- C.24
- D.0
A B C D
B
[解析] 外层for循环是将a[0]=[1,2,3],a[1]=[4,5,6],a[2]=[7,8,9]依次赋给变量c;内层for循环将变量j从0递增到2,即累加c[1]+c[2]+c[3]的值,所以内层循环加外层循环是计算1+2+3+4+5+6+7+8+9的值,s=45。
21. 下面代码的输出结果是
list1=[(m,n)for m in 'ABC'for n in 'ABC’if m!=n]
print(list1)
- A.['AC','AD','BC','BD']
- B.['A','C'),('A','D'),('B','C'),('B','D')]
- C.错误
- D.[('A','B'),('A','C'),('B','A'),('B','C'),('C','A'),('C','B')]
A B C D
31. 以下代码的输出结果是______。
while True:
guess=eval(input())
if guess==0x452//2:
break
print(guess)
- A.0x452
- B.break
- C.553
- D."0x452//2"
A B C D
C
[解析] 该程序最外层是while循环,while循环的条件是True,由此可知while内的语句会无限循环。imput()函数是用来获取用户从键盘输入的内容并以字符串类型返回。eval()函数是把字符串转换成Python可用的语言。if语句的作用是来控制程序是否继续循环,判断条件中0x452是十六进制数,对2整除的结果是553,如果用户输入的数据是553,则将结果输出并终止循环;如果输入其他数据,程序会一直要求用户输入直到输入正确的数据才会终止循环。本题选C选项。
33. 下面代码的输出结果是______。
def f(n):
if n==1:
return 1
else:
return n*f(n-1)
print(f(4))
A B C D
A
[解析] 该代码的功能是根据传入的参数求取该数的阶乘,经过一系列的运算将结果返回,4的阶乘为24。