青少年软件编程(Python)等级考试试卷(六级)

0 Comments

青少年软件编程(Python)等级考试试卷(六级)

编写:李兴球

分数:100.00            题数:37

 

一、单选题(共25题,每题2分,共50分)

  1. 一般情况下,下列哪种后缀名的文件不是文本文件?( )

 

A、.py

B、.txt

C、.bat

D、.png

 

  1. 以下代码打开一个文件,以下描述正确的是。( )

f = open(‘c:/在水一方.wav’,mode=’r’)

c = f.read

f.close()

A、由于.wav是二进制文件,所以第一行代码就错了。

B、c是一个字符串。

C、c是一个二进制的字节对象。

D、程序能正常运行。

 

  1. 关于下面程序,描述正确的是。( )

import json

 

d = dict(name=’张三’,age=12)

with open(‘c:/a.json’,mode=’w’) as f:

json.dump(d,f)

A、文件没有被正确关闭。

B、生成的a.json文件里有汉字。

C、用with自动管理资源能自动关闭文件。

D、保存的文件不是文本文件。

 

  1. 关于以下代码,描述 错误的是( )

 

import random

import turtle

 

cs = [‘red’,’green’,’blue’,random,turtle]

ts = [turtle.Turtle() for _ in range(3)]

[t.setheading(i*120) for i,t in enumerate(ts)]

[t.fd(100) for t in ts]

[t.color(c) for t ,c in zip(ts,cs[:3])]

 

A、cs列表中有两个模块名,理论上没有任何问题。

B、ts列表中有三只海龟。

C、每只海龟的方向都是一样的。

D、每只海龟的颜色不一样,并且都前进100个单位。

 

  1. 关于如下代码,描述正确的是( )

x = int(input())

s = ‘32,76,8’.split(‘,’)

e = [‘海洋’,’天空’,’宇宙’]

d = {}

for i in range(x):

d[s[i]] = e[i]

print(d)

A、只有输入3,程序才能运行正确。

B、输入5后,程序运行错误,并且d字典还是空字典。

C、如果输入字母,程序肯定出错。

D、第二行代码错误。

 

 

  1. 以下代码描述正确的是( )

import random

import numpy as np

a,b,c,d = [random.randint(1,10)for _ in range(4)]

a = np.array([[a, b], [c, d]])

print(a[0]+a[1])

 

A、由于用random.randint生成的最大整数是10,所以输出不可能超过20。

B、由于a被重新定义,而b,c,d还是整数,所以a不能和b,c,d进行相加操作了。

C、程序能正确运行。

D、由于最终a是二维数组,所以最后一行代码出错。

 

 

  1. 以下关于文件的描述,正确的是。( )

A、文件系统是组织数据的一种方式。

B、在Python中用open命令打开文件后不需要关闭。

C、二进制文件是不能用记事本打开的。

D、Python程序只能用IDLE进行编辑。

 

  1. 属于Python第三方库的是。( )

A、 turtle。

B、sys。

C、math。

D、matplotlib。

 

 

  1. 关于排序算法,以下说法正确的是( )

A、冒泡排序每趟循环必定是最大的数移到列表最右边。

B、选择排序每次循环从列表中选择最小的或者最大的,然后从剩下的数据中再次选择最小的或者最大的,依此类推。

C、Python中的列表用sort命令,只能让列表中的数据从小到大排序。

D、Python中的sorted命令是原地排序,返回为None。

 

 

  1. 关于以下程序,描述正确的是( )

import numpy as np

student = np.dtype([(‘name’,’S20′), (‘age’, ‘i1’)])

s1 = np.array([[‘翠花’,12],[‘大壮’,18]])

print(str(s1[0]).split()[-1])

 

A、最终输出一个列表。

B、s1其实是一个一维数组。

C、最终结果并不是一个字符串。

D、student表示numpy模块的一种数据类型。

 

  1. 以下代码运行后,输出的a,描述正确的是( )

import numpy as np

a = np.array([[1,2,3],[4,5,6]])

a.shape = (1,6)

print(a)

A、a是一个一维数组。

B、a是一个二维数组。

C、a[0]的值是1。

D、a[0][1]的值是1。

 

 

  1. f字符串表达式能格式化字符串,假设x =10,那么f”ab{x:03}”结果是( )

A、’ab010′

B、’ab 10′

C、’abxxx’

D、’abx03′

 

 

  1. python内置可视化界面模块tkinter中哪个命令用于新建按钮( )

A、Tkr

B、Label

C、Text

D、Button

 

 

  1. 关于SQlite数据库,以下描述不正确的是( )

 

A、它是由c语言编写的一个数据库系统。

B、数据库由多个磁盘文件组成。

C、由SQL查询语言进行数据库的操作。

D、一个不需要服务器支持的数据库系统。

 

  1. 代码class A:pass,以下选项不正确的是( )

A、a = A() ,实例化了一个对象叫a。

B、类的名称一定要大写开头。

C、a = A();print(a.x),代码会运行出错。

D、pass只是占位符。

 

 

  1. “ab{:03}”.format(10)的结果是( )

A、’ab001′

B、’ab010′

C、’ab333′

D、’ab100′

 

  1. 关于以下代码,以下描述正确的是( )

import numpy as np

import matplotlib.pyplot as plt

 

y = np.linspace(-10,10,20)

plt.plot(y)

plt.show()

A、显示的是一条曲线。

B、y所包含的值是-10到10之间的整数。

C、对y进行求和后的值是0.0

D、numpy模块是内置模块,不需要安装。

 

 

  1. GUI,即图形用户界面,它的英文全称是( )

 

A、graphical user interface

B、green user interface

C、gray ultra internet

D、good update  island

 

  1. turtle基于tkinter模块开发,导入turtle模块后可以用turtle.TK引用tkinter模块。那么tkinter.messagebox.showinfo和下面哪句代码含义一样( )

A、turtle.TK.messagebox

B、TK.showinfo

C、turtle.Turtle.messagebox

D、showinfo.turtle.TK

 

 

  1. “%c%cYou”%(73,10084)的运行结果的长度是( )

A、1

B、3

C、5

D、7

 

 

  1. 关于以下程序,描述正确的是( )

 

import sqlite3

import numpy as np

a = np.arange(1,10,2)

dbfiles = [f”c:/test_{i}.dat” for i in map(str,a)]

conns = [sqlite3.connect(fn) for fn in dbfiles]

[conn.close() for conn in conns]

 

A、将会在c盘根目录建立10个数据库

B、a是一个一维数组,包含5个偶数

C、conns是一个sqlite3的数据库连接对象

D、数据库名不一定以db为扩展名,也可以自定义为其它扩展名或没有扩展名

 

 

  1. 下面的程序,描述正确的是( )

A、如果再执行一遍list(m)将返回一个空列表。

B、由于第5行已经将m生成为列表,而第7行好像作同样的事情,所以第7行是多余的。

C、生成的文件名是test_55.txt。

D、第4行的m是一个二维数组。

 

 

 

  1. 执行下面代码,以下描述错误的是(  )

import turtle

 

class Ball:

def __init__(self,diameter,position):

self.diameter = diameter  # 直径

self.x,self.y = position        # 球的中心点坐标

self.dx = 3   # 水平单位位移

self.dy = 3   # 垂直单位位移

def move(self):

self.x += self.dx

self.y += self.dy

def draw(self,turtle):

turtle.goto(self.x,self.y)

turtle.dot(self.diameter)

 

turtle.penup()

turtle.speed(0)

turtle.delay(0)

turtle.hideturtle()

ball = Ball(100,(0,0))

while True:

turtle.clear()

ball.move()

ball.draw(turtle)

 

A、程序运行后,将会看到一个直径为100的圆形朝右上角移动。

B、在程序中,海龟起的作用是把圆形通过dot命令画出来。

C、 由于Ball类中的draw方法调用了turtle的相关命令,所以它是隐含继承turtle.Turtle类的。

D、 这是一个正确的程序

 

 

  1. 关于sqlite中的游标,以下说法错误的是( )

 

A、游标用来执行sql语句。

B、通过游标可以取得返回的记录。

C、不需要显式创建游标,用连接对象也能执行sql语句。

D、不能通过for循环直接遍历游标对象。

 

  1. 关于以下代码,不正确的描述是( )

class Test:

def __init__(self,n):

self.ns = n

 

def show(self):

print(self.ns)

 

A、实例化Test的代码是Test()。

B、ns是Test类的一个属性。

C、Test类并没有继承任何类。

D、self表示实例化后的对象,可以省略。

 

 

二、判断题(共10题,每题2分,共20分)

  1. tkinter模块用来做GUI程序,其实用turtle模块编制的程序也是GUI程序。(   )

 

  1. 执行ord(“%c”%(10084))的结果也是10084。( )

 

  1. 执行’中{:华>5}’.format(‘人’)后的结果有5个‘华’字。( )

 

  1. sqlite数据库可由一个或多个文件组成。(   )

 

  1. Python源文件扩展名一般为py ,并且一般是utf-8编码。( )

 

  1. 文件的读写操作并不是Python自带的,需要导入os模块。( )

 

  1. 用pip命令安装matplotlib的方法是pip install matplotlib。( )

 

  1. ‘255.0.123.55’.split(‘.’)执行后返回一些字符串。(  )

 

  1. 运行如下,结果是显示10个红色的圆点。 (    )

import matplotlib.pyplot as plt

plt.plot(range(10),’or’)

plt.show()

 

  1. 一个类继承自另一个类,那么这个类是另一个类的子类。( )

 

三、编程题(共2题,共30分)

  1. 数字记录与显示

 

编制程序,要求合理地运用time、sqlite3、numpy和matplotlib模块把输入的数字存储在数据库中,并且线性显示出来。程序输入10,那么生成10个在1到100范围内的整数。输入20,则在1到100范围内生成20个整数可视化地显示出来。输入小于1的数则程序结束。

输入10的图形可以参考下面图:

评分标准:

(1)正确地导入了所有要应用到的模块。(3分);

(2)所输入的数据都能进入数据库。(3分);

(3)能正确地使用matplotlib显示数据。(3分);

(4)能正确地使用numpy生成一序列数据; (3分);

(5)程序有异常处理机制,无论如何输入都不会崩溃。(3分)

 

  1. 简易学生信息管理系统。

程序要求如下:

1、设计一个学生类,名为Student ,字段有姓名,年龄,成绩。

2、设计好display_records函数。用于显示所有学生信息。

3、设计好insert_record函数。它用于往数据库中插入一条学生记录。

4、程序运行后会有一个主循环,一般用while循环。它会不断地显示要求按1、2、3数字键,如果按其它的则提示输入错误。按1会显示所有学生信息,按2会往数据库中插入一条记录,按3中断循环。 以下是程序的参考结构:

答案:

 

评分标准:

(1)能够设计好Student类。(3分);

(2)能够正确地实例化一个Student类的对象。(3分);

(3)display_records函数能正确地显示所有学生信息。(3分);

(4)insert_record能正确地插入一条学生信息。(3分)  ;

(5)合理地运用了异常处理机制,程序无论如何输入都不会出错而崩溃。(3分)  ;

 

 

 

 

标签:

发表评论