另一套模拟题2: 期末考试 模拟题2
浏览器(Chrome、火狐)登录PTA网址: pintia.cn,单击右上角“登录->考试登录”,下拉菜单输入cugb 选择“cugb-中国地质大学(北京)”,输入你的学号与姓名。进入后选择“我的题目集->2022秋《Python 科学计算》考试模拟练习”,阅读公告后答题。
本题目集开放时间为24小时,允许反复登录和练习。过期后无法再补,请注意!
1)客观题(选择、判断、填空、程序填空)答完后单击“保存”后保存答案,考试结束后批阅分数,考试时题目数量较多,每做几道题应及时保存以免丢失;
2)函数题、编程题请仔细阅读题面要求,输入样例与输出样例作为一次测试用例,注意输入输出格式必须完全相同(特别注意空格等符号)。在右侧代码区输入答案(函数题只写函数定义),单击底部“提交”,立刻能看到分数,多次取最高分;
3)函数题、编程题若未得满分,应仔细检查题目要求,单击右下方“测试用例”,复制或输入用例,单击“运行测试”观察输出结果,应使用不限于题面提示用例的多种测试用例检查程序正确性;
4)主观题答题区支持Markdown格式,注意:
实际期末考试时,考生只能在考试窗口内答题,不允许使用其它任何工具软件,提前结束考试时,单击考试窗口右边的叉(×),在弹出的提示框中按提示输入灰色文字,确定后完成后交卷。关闭考试平台即可。本模拟测试无需结束,关闭网页即可,开放期间可以任意登录。
本次是模拟测试,使用教师提供的账号登录,考试时由监考老师登录(考生无需知道账号),考试期间将全程监控,若打开浏览器及其他文件均属作弊行为!!!系统会自动拍照截图留证!!!
Python中 “4”+“3”的结果为“7”。
python中,循环体中的每条语句都需要缩进。
x = input("请输入一个整数")
if x >= 10 :
print("你输入的数字太大了")
else:
print("你输入的数字很小")
print("程序已经运行结束了,谢谢你的使用")
请问如果你输入数字8,程序执行结果是什么?
以下选python源程序执行的方式:
以下选项中,不是 Python 中文件操作的相关函数是
执行x=2, y=3, x,y=y,x之后,x,y的值分别是()。
x=100,y=3,x//y的值是()。
s=“abcd’12’34”,下面()可以输出字符’12’34。
12
'12’
(无输出)
'12’34
已知 x = {‘a’:‘b’, ‘c’:‘d’},那么表达式 ‘b’ in x.values() 的值为____。
True
4-2
表达式 sum(range(1, 10, 2)) 的值为____。
25
请根据给出的执行结果将下述程序补充完整,并上机调试运行。
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
v=[7,11,13,15]
print(____) #通过统计函数找出v中的最大元素并打印
print(____) #通过统计函数找出v中的最小元素并打印
print("sum=",format(____,".2f")) #通过统计函数求出v中全部元素的和
答案
max(v)
min(v)
sum(v)
编写函数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
有一组学生成绩,按格式输出不及格(成绩<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)
输入三个正实数(float型,>0),如果能够组成三角形,输出三角形面积。如果不能,输出"error"。
三个数能够组成三角形的条件是:任意两边之和大于第三边。
已知三边长求三角形面积的公式为:
s=(a+b+c)/2
area=sqrt(s(s−a)(s−b)(s−c))
输入格式:
第一行输入三个实数(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")
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))
谈谈你对python这门语言的看法。
评分标准:
酌情给分。
另一套模拟题2: 期末考试 模拟题2