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

另一套模拟题2: 期末考试 模拟题2


考试方法

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

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


考试公告

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

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

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

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

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

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

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


判断题

1-1

Python中 “4”+“3”的结果为“7”。

  • T
  • F (结果为“43”)

1-2

python中,循环体中的每条语句都需要缩进。

  • T
  • F

单选题

2-1

x = input("请输入一个整数")
if x >= 10 : 
	print("你输入的数字太大了")
else:
	print("你输入的数字很小")
print("程序已经运行结束了,谢谢你的使用")

请问如果你输入数字8,程序执行结果是什么?

  • A. 你输入的数字太大了
  • B. 你输入的数字很小
      程序已经运行结束了,谢谢你的使用
  • C. 你输入的数字很小
  • D. 你输入的数字太大了
      程序已经运行结束了,谢谢你的使用

2-2

以下选python源程序执行的方式:

  • A. 包含了提前编译的解释执行
  • B. 边编译边执行
  • C. 直接执行
  • D. 编译执行

2-3

以下选项中,不是 Python 中文件操作的相关函数是

  • A. open()
  • B. read()
  • C. load()
  • D. write()

2-4

执行x=2, y=3, x,y=y,x之后,x,y的值分别是()。

  • A. 2,3
  • B. 3,2
  • C. 3,3
  • D. 2,2

2-5

x=100,y=3,x//y的值是()。

  • A. 33.3
  • B. 33.0
  • C. 1
  • D. 33

2-6

s=“abcd’12’34”,下面()可以输出字符’12’34。

  • A. s[5:8]

12

  • B. s[4:8]

'12’

  • C. s[-1:-6]

(无输出)

  • D. s[-6:]

'12’34


填空题

4-1

已知 x = {‘a’:‘b’, ‘c’:‘d’},那么表达式 ‘b’ in x.values() 的值为____。

True

4-2

表达式 sum(range(1, 10, 2)) 的值为____。

25


程序填空题

5-1

请根据给出的执行结果将下述程序补充完整,并上机调试运行。

a = [1,2,3,4,5,6,7]
b = a
c = a[____]
a[____] = 99,100
print("a=",a,id(a)==id(b))
print("b=",b)
print("c=",c,id(c)==id(a))

期望的执行结果:

a= [1, 2, 3, 99, 100, 6, 7] True
b= [1, 2, 3, 99, 100, 6, 7]
c= [1, 2, 3, 4, 5, 6, 7] False

答案

c = a[ : ]
a[ 3:5 ] = 99,100

5-2

v=[7,11,13,15]
print(____)                      #通过统计函数找出v中的最大元素并打印
print(____)                      #通过统计函数找出v中的最小元素并打印
print("sum=",format(____,".2f")) #通过统计函数求出v中全部元素的和

答案

max(v)
min(v)
sum(v)


函数题

6-1计算工资

编写函数pay(),带两个输入参数:小时工资和上周员工工作了的小时数。函数计算并返回员工的工资。加班工资的计算方法如下:大于40小时但小于或等于60小时按平时小时薪酬的1.5倍给薪;大于60小时则按平时小时薪酬的2倍给薪。

函数接口定义:

pay(salaryHour, hours)

salaryHour是平时小时薪酬,hours是员工工作的小时数

裁判测试程序样例:

/* 请在这里填写答案 */
def main():
     salaryPerHour = int(input())
     hours = int(input())
     print(pay(salaryPerHour, hours))

main()

输入样例1:

10
35

输出样例1:

350

输入样例2:

10
45

输出样例2:

475.0

输入样例3:

10
61

输出样例3:

720.0

参考代码

def pay(salaryHour, hours):
    s = 0
    # 大于40小时但小于或等于60小时按平时小时薪酬的1.5倍给薪;大于60小时则按平时小时薪酬的2倍给薪
    if hours > 60:
        s = 40 * salaryHour + 20 * 1.5 * salaryHour + (hours - 60) * 2 * salaryHour
    elif hours > 40:
        s = 40 * salaryHour + (hours - 40) * 1.5 * salaryHour
    else:
        s = hours * salaryHour
    return s

编程题

7-1输出不及格学生的成绩

有一组学生成绩,按格式输出不及格(成绩<60分)的学生姓名及成绩(整数)。

输入格式:

第一行输入一个整数n。

第二行开始输入n行,每行一名学生姓名及成绩(整数)。

输出格式:

输出不及格学生的姓名及成绩,用西文字符冒号分隔,注意中间有1个空格。

输入样例:

5
zhangqi 80
lili 78
wangyun 99
lixiao 58
zhaoming 43

输出样例:

lixiao : 58
zhaoming : 43

参考代码

n = int(input())
stu = {}
while n > 0:
    name, score = input().split()
    score = int(score)
    if score < 60:
        stu[name] = score
    n = n - 1
for k, v in stu.items():
    print(k, ':', v)

7-2求三角形的面积

输入三个正实数(float型,>0),如果能够组成三角形,输出三角形面积。如果不能,输出"error"。

三个数能够组成三角形的条件是:任意两边之和大于第三边。

已知三边长求三角形面积的公式为:

s=(a+b+c)/2

area=sqrt(s(sa)(sb)(sc))

输入格式:

第一行输入三个实数(float型)

输出格式:

输出面积,或者输出error。

输入样例1:

3 4 5

输出样例1:

6.0

输入样例2:

3 -1 3

输出样例2:

error

输入样例3:

3 1 4

输出样例3:

error

参考代码

a, b, c = input().split()

a = float(a)
b = float(b)
c = float(c)

if a + b > c and a + c > b and b + c > a and a > 0 and b > 0 and c > 0:
    s = (a + b + c) / 2
    area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
    print(area)
else:
    print("error")

7-3身份证号码输出性别与出生日期

18位居民身份证号码排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码(男性使用1、3、5、7、9等奇数,女性使用2、4、6、8、0等偶数)和一位数字校验码。

从键盘输入一串18位的字符串。如果位数不是18位则输出“error”,否则输出性别及出生日期。

输入格式:

输入一串号码

输出格式:

输出性别及出生日期或error。

输入样例1:

420102201001152928

输出样例1:

女, 20100115

输入样例2:

42010220100115292

输出样例2:

error

参考代码

id = input()
if len(id) != 18:
    print("error")
else:
    birth = id[6:14]
    sex = "13579"
    if sex.find(id[16]) >= 0:
        sex = '男'
    else:
        sex = '女'
    print("%s, %s" % (sex, birth))

主观题

8-1 主观题

谈谈你对python这门语言的看法。

评分标准:
酌情给分。


另一套模拟题2: 期末考试 模拟题2

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值