中国地质大学(北京) 研究生 2022秋《Python科学计算》期末考试 模拟题2 题目+参考答案

相关链接: 期末考试 模拟题1


考试方法

浏览器(Chrome、火狐)登录PTA网址: pintia.cn,单击右上角“登录->考试登录”,下拉菜单输入cugb 选择“cugb-中国地质大学(北京)”,输入你的学号与姓名。进入后选择“我的题目集->2022秋《Python 科学计算》考试模拟练习”,阅读公告后答题。

本题目集开放时间为24小时,允许反复登录和练习。过期后无法再补,请注意!


考试公告

1)客观题(选择、判断、填空、程序填空)答完后单击“保存”后保存答案,考试结束后批阅分数,考试时题目数量较多,每做几道题应及时保存以免丢失;

2)函数题、编程题请仔细阅读题面要求,输入样例与输出样例作为一次测试用例,注意输入输出格式必须完全相同(特别注意空格等符号)。在右侧代码区输入答案(函数题只写函数定义),单击底部“提交”,立刻能看到分数,多次取最高分;

3)函数题、编程题若未得满分,应仔细检查题目要求,单击右下方“测试用例”,复制或输入用例,单击“运行测试”观察输出结果,应使用不限于题面提示用例的多种测试用例检查程序正确性;

4)主观题答题区支持Markdown格式,注意:

  • 请在每个段落后输入两个回车;
  • 建议使用工具栏上的相应工具让你的答案更清晰,如:H加粗,B加粗,x2输入Latex公式,插入代码等
  • 建议使用工具栏上的预览工具(“眼睛”标志按钮)查看提交的答案。

实际期末考试时,考生只能在考试窗口内答题,不允许使用其它任何工具软件,提前结束考试时,单击考试窗口右边的叉(×),在弹出的提示框中按提示输入灰色文字,确定后完成后交卷。关闭考试平台即可。本模拟测试无需结束,关闭网页即可,开放期间可以任意登录。

本次是模拟测试,使用教师提供的账号登录,考试时由监考老师登录(考生无需知道账号),考试期间将全程监控,若打开浏览器及其他文件均属作弊行为!!!系统会自动拍照截图留证!!!


单选题

1-1

matplotlib能够绘制三维图,下图的类型是【 】。

中国地质大学(北京) 研究生 2022秋《Python科学计算》期末考试 模拟题2 题目+参考答案_第1张图片

  • A. WireframePlot
  • B. BarPlot
  • C. SurfacePlot
  • D. Text

补充

中文辅助记忆

  • WireframePlot线框图
  • SurfacePlot曲面图
  • BarPlot条形图
  • ContourPlot等高线图
  • PolygonPlot多边形图
  • Text文本

中国地质大学(北京) 研究生 2022秋《Python科学计算》期末考试 模拟题2 题目+参考答案_第2张图片

1-2

下面代码中能够输出“World”子串的是【 】。

s=“Hello World!”

  • A. print(s[6:-1])

World

  • B. print(s[7:-1])

orld

  • C. print(s[6:10])

Worl

  • D. print(s[7:10])

orl

1-3

函数参数分为可变对象与不可变对象,下面【】属于可变对象的函数参数。

  • A. string
  • B. tuple
  • C. dict
  • D. int

1-4

创建3行2列数组的语句是【 】。

  • A.
import numpy as np
np.array([[1,2,3],[4,5,6]])

[[1 2 3]
[4 5 6]]

  • B.
import numpy as np
np.array([1,2,3],[4,5,6])

TypeError: Field elements must be 2- or 3-tuples, got '4’
TypeError:字段元素必须是 2 或 3 元组,得到 '4’

  • C.
import numpy as np
np.array(1,2,3,4,5,6)

TypeError: array() takes from 1 to 2 positional arguments but 6 were given
TypeError: array() 接受 1 到 2 个位置参数,但给出了 6 个

  • D.
import numpy as np
np.array([[1,2],[3,4],[5,6]])

[[1 2]
[3 4]
[5 6]]

1-5

下面代码段的执行结果是【 】。

import numpy as np
a1=np.array([[1,2,3],[4,5,6]])
a1.shape
  • A. [2,3]
  • B. [3,2]
  • C. (2,3)
  • D. (3,2)

1-6

Pandas中的数据结构【 】只允许存储相同数据类型元素,类似于一维数组。

  • A. list
  • B. Panel
  • C. Series
  • D. DataFrame

补充

  • Pandas 的主要数据结构是 Series (一维数据)DataFrame(二维数据)
  • Series 是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。
  • DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。

1-7

下面代码的执行结果是【 】。

s="20+5i"
eval(s[1:-1])
  • A. 20+5
  • B. 5
  • C. 25
  • D. 20+5i

补充

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

1-8

输出1,2,3三个数字的代码段是【 】。

  • A.
for i in range(3):
	print(i)

0
1
2

  • B.
i = 1
while i < 3:
	print(i)
	i+=1

1
2

  • C.
i = 1
while i < 3:
	 i+=1
print(i)

3

  • D.
for i in range(3):
	print(i+1)

1
2
3

1-9

调用下列【 】包,可以实现快速傅里叶变换。

  • A. pandas
  • B. math
  • C. scipy
  • D. sklearn

补充

  • NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:一个强大的N维数组对象 ndarray、广播功能函数、整合 C/C++/Fortran 代码的工具、线性代数、傅里叶变换、随机数生成等功能。
  • Pandas 是一个提供高性能、易于使用的数据结构数据分析工具。Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析)。Pandas 是一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。Pandas 广泛应用在学术、金融、统计学等各个数据分析领域。
  • SciPy 是一个开源的 Python 算法库数学工具包。Scipy 是基于 Numpy 的科学计算库,用于数学、科学、工程学等领域,很多有一些高阶抽象和物理模型需要使用 Scipy。SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
  • Python math 模块提供了许多对浮点数的数学运算函数math 模块下的函数,返回值均为浮点数,除非另有明确说明。
  • Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
  • scikit-learn是基于Python语言的机器学习库,具有:简单高效的数据分析工具、可在多种环境中重复使用、建立在Numpy,Scipy以及matplotlib等数据科学库之上、开源且可商用的-基于BSD许可。

1-10

已知a,b均是float型,则Python书写公式公式 a ( 1 + 1 b 2 ) 3 a\left(1+\frac{1}{b^{2}}\right)^{3} a(1+b21)3的正确表达式是【 】。

  • A. (a*(1+(1/b**2)))**3
  • B. a*(1+(1/b**2)**3)
  • C. a*((1+(1/b**2))**3)
  • D. (a*(1+(1/b**2)))**3

1-11

字符串 s= ‘a\nb\tc’,则 len(s)的值是【 】

  • A. 4
  • B. 5
  • C. 6
  • D.8

1-12

下面【 】在调用函数时会报错。

def showNumber(numbers):
    for n in numbers:
        print(n)
  • A. showNumber([1,2,3])
  • B. showNumber('123')
  • C. showNumber((1,2,3))
  • D. showNumber(1,2,3)

1-13

下列选项中,符合Python语言变量命名规则的是【 】。

  • A. a3
  • B. 3a
  • C. a 3
  • D. 3 a

1-14

下面语句f = open('a1.txt','w')的功能是【 】。

  • A. 打开当前目录的a1.txt文件并可以进行写操作
  • B. 打开当前目录的a1.txt文件并可以进行读操作
  • C. 打开Python安装目录的a1.txt文件并可以进行写操作
  • D. 打开Python安装目录的a1.txt文件并可以进行读操作

1-15

在文件路径表示中,‘…\’表示的含义是【 】。

  • A. 当前工作目录
  • B. 当前工作目录的下一级目录
  • C. 当前目录的上一级目录
  • D. 根目录的下一级目录

填空题

2-1

下面代码段运行结果是输出[0 1 2 3 4],请填空【 】。

import numpy as np
x = np.____
print(x)

答案

x = np.array([0,1,2,3,4])

2-2

面向对象的三大特征是封装、____ 、____ 。

答案

继承 、多态

2-3

Python 语句s1 = [1, 2, 3, 4]; s2 = [5, 6, 7]; print(len(s1 + s2))的运行结果是____。

答案

7

2-4

类方法通过装饰器@ ____ 定义,第一个形参通常为____。

如下面代码段展示了类方法的定义与调用:

class A:                                    #定义类A
    @【 填空1#装饰器
    def speak(【填空2):                    # 定义类方法speak
        print("这是一个类方法:classmethod")
A.speak()                                   #调用类A的speak方法

答案

classmethod、cls

2-5

阅读下面代码段,填空实现下面的运行结果。注意区分大小写。

import ____ as pd
da=[{'a':1,'b':2},{'a':5,'b':10,'c':20}]
df=pd.____(da)
print(df)

运行结果是:

   a   b     c
0  1   2   NaN
1  5  10  20.0

答案

import pandas as pd
df=pd.DataFrame(da)


函数题

3-1python-函数-找钱

买单时,营业员要给用户找钱。营业员手里有10元、5元、1元(假设1元为最小单位)几种面额的钞票,其希望以尽可能少(张数)的钞票将钱换给用户。比如,需要找给用户17元,那么其需要给用户1张10元,1张5元,2张1元。而不是给用户17张1元或者3张5元与2张1元。

函数接口定义:

giveChange(money)#money为要找的钱。经过计算,应按格式"要找的钱 = x*10 + y*5 + z*1"输出。

裁判测试程序样例:

/* 请在这里填写答案 */
n =  int(input())
for i in range(n):
    giveChange(int(input()))

输入样例:

5
109
17
10
3
0

输出样例:

109 = 10*10 + 1*5 + 4*1
17 = 1*10 + 1*5 + 2*1
10 = 1*10 + 0*5 + 0*1
3 = 0*10 + 0*5 + 3*1
0 = 0*10 + 0*5 + 0*1

参考代码

def giveChange(money):  # money为要找的钱。经过计算,应按格式"要找的钱 = x*10 + y*5 + z*1"输出。
    ten = money // 10
    five = (money - ten * 10) // 5
    one = money - ten * 10 - five * 5
    print("%d = %d*10 + %d*5 + %d*1" % (money, ten, five, one))

编程题

4-1Book类定义

本题定义一个Book类,具有作者author、书名name、价格price等数据属性,具有销售sell方法,实现输出某书名(作者名)的价格。然后测试Book类,第一行输入书名,第二行输入作者,第三行输入价格,最后创建Book类对象b1,并且调用sell方法输出信息。

Book类的部分代码如下,请复制到代码区,然后修改代码完成编程。

class Book(object):
    def __init__(self,name,author,price):
    #以下填写代码实现初始化

    #初始化结束
    def sell(self):
        print("%s(%s)的销售价格为%d" %(self.name,self.author,self.price))

s1=input()              #输入书名给s1
s2=input()              #输入作者给s2
p=float(input())        #输入价格给p
#以下填写代码定义Book类对象b1

#定义结束
b1.sell()

输入样例:

Python Program
wzh
58

输出样例:

Python Program(wzh)的销售价格为58

参考代码

class Book(object):
    def __init__(self, name, author, price):
        # 以下填写代码实现初始化
        self.name = name
        self.author = author
        self.price = price
		# 初始化结束
    def sell(self):
        print("%s(%s)的销售价格为%d" % (self.name, self.author, self.price))


s1 = input()  # 输入书名给s1
s2 = input()  # 输入作者给s2
p = float(input())  # 输入价格给p
# 以下填写代码定义Book类对象b1
b1 = Book(s1, s2, p)
# 定义结束
b1.sell()

相关链接: 期末考试 模拟题1

你可能感兴趣的:(北地,研究生,Python,期末,python)