样卷在今天上午发布,可惜我一天满课没能在第一时间做完,不过现在发好像也不算太晚?
1。以下语句执行后a、b、c的值是( A )
a = "watermelon"
b = "strawberry"
c = "cherry"
if a > b:
c = a
a = b
b = c
A.strawberry watermelon watermelon
B.strawberry cherry watermelon
C.watermelon cherry strawberry
D.watermelon strawberry cherry
这题就是一个赋值问题,很简单。如果没把握考试时可以自己打开Python运行一下。
2.下列代码的运行结果是( C )
x = 4
if 2:
print(5)
else:
print(6)
A.False
B.6
C.5
D.4
这题原版答案错了,if后面加数字,非零即为逻辑真,不知道原版的B是怎么想出来的。
3.关于Python的列表,描述错误的选项是( C )
A.Python列表的长度可变的
B.Python列表是一个可以修改数据项的序列类型
C.Python列表用花括号{}表示
D.Python列表是包含0个或者多个对象引用的有序序列
花括号里的那叫字典。
4.对于列表ls的操作,以下选项中描述错误的是 ( A )
A.ls.append(x):在ls最前面插入一个元素
B.ls.reverse0:列表ls的所有元素反转
C.ls.copy0:生成一个新列表,复制s的所有元素
D.ls.clearQ:删除Is的所有元素
考察append()的用法,很简单。
5.下面代码的输出结果是( D )
a=[[1,2,3],[4,5,6],[7,8,9]]
s=0
for c in a:
for j in range(3):
s += c[j]
print(s)
A.24
B.6
C.18
D.45
原版答案又错了。
6.下面代码的输出结果是( A )
for s in "HelloWorld":
if s == "W":
continue
print(s,end="")
A.Helloorld
B.Helloworld
C.World
D.Hello
原版答案C你在逗谁?
7.下列代码的输出结果是( B )
for s in "abc":
for i in range(3):
print(s,end="")
if s=="c":
break
A.aaabbb
B.aaabbbc
C.abcabcabc
D.aaabbbccc
嗯,原版答案就算是AD都能理解,结果是C?
8.关于循环,以下错误的是( C )
A.Python通过for、while等保留字提供循环结构
B.break用来跳出当前层次的循环,脱离该循坏后程序从循环代码后继续执行
C.每个continue语句只有能力跳出当前层次的循环
D.遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等
continue语句可以跳出当前循环并进行下一轮循环。
9.关于Python的分支结构,以下选项中描述错误的是( A )
A.可以使用if<条件><表达式1>else<表达式2>的紧凑结构,返回一个表达式的值
B.Python中if-elif-else 语句描述多分支结构
C.Python中if-else语句用来形成二分支结构
D.分支结构使用if保留字
10.下列不能作为变量名的是( C )
A.f_1
B.f1
C.if
D.fi
这题……有点搞笑。
11.下面代码的输出结果是( A )
x=10
print(x%y,x**y)
A.1 1000
B.3 30
C.1 30
D.3 1000
%是取余数而不是取整,考试忘记了可以自己跑一下,原版答案还是错的。
12.以下代码的输出结果是( B )
print('{:*^10.4}'.format ('Flower'))
A.**Flower**
B.****Flow****
C.Flower
D.Flow
答案日常抽风。
13.s="the sky is blue”',表达式 print(s[-4:], s[:-4])的结果是:( A )
A.blue the sky is
B.sky is blue the
C.blue is sky the
D.the sky is blue
这题乍一看有点难理解,s[-4:]代表从索引为-4的地方向右取值取到底,也就是从b开始取到e;s[:-4]代表从开头取到索引为-4的位置。这题答案仍然是错的。
14.下面代码的输出结果是 ( D )
print( 0.1 + 0.2 == 0.3)
A.1
B.0
C.True
D.False
这个建议考场上自己跑一遍。
15.关于赋值语句,以下选项中描述错误的是 ( C )
A.可以使用变量<运算符>=表达式的方式
例如x=5
y=10
y+=x
表示y=y+x
B.在Python 语言中,“=〞表示赋值,即将“=〞左侧的计算结果赋值给右侧变量,包含"="的语句称为赋值语句
C.可以将一个表达式的值赋给多个变量
x=y=5
D.设x="alice",y="kate",执行x,y=y,x,可以实现变量x与y的互换
16.设一年356天,第1天的能力值为基数记为1.0。当好好学习时能力值相比前一天会提高干分之五。以下选项中,不能获得持续努力1年后的能力值的是( B )
A.pow(1.005,365)
B.1.005*365
C.pow((1.0+0.005),365)
D.1.005 ** 365
以下选择题自求多福。
17.下列哪项不属于人工智能的机器学习范畴( A )
A.模仿学习
B.深度学习
C.强化学习
D.监督学习
18.第一台计算机ENIAC使用的元件是 ( D )
A.超大规模集成电路
B.集成电路
C.晶体管
D.电子管
19.下列不属于应用软件的是 ( D )
A.淘宝
B.microsoft office
C.photoshop
D.安卓
20.根据冯诺依曼体系结构,计算机由哪五部分组成( A )
A.输入设备、运算器、存储器、控制器、输出设备
B.输入设备、运算器、存储器、主机、输出设备
C.输入设备、控制器、存储器、中央处理器、输出设备
D.输入设备、运算器、存储器、中央处理器、输出设备
1.Python语言表达式抛物运动垂直方向位移(10.0分)
抛物运动垂直方向的位移公式
y = vsinat - (gt^2) / 2
输入速度v 角度a和时间t(g取9.8)
计算y(保留两位小数)
例如输入 100 60 10 输出376.03
第一题送个分很正常,但要先记住导入math.py函数,并且在进行三角函数运算时把角度制转化成弧度制。
import math
v=eval(input())
a=eval(input())
t=eval(input())
g=9.8
y=v*(math.sin(math.radians(a)))*t-(g*t**2)/2
print("{:.2f}".format(y))
2.ISBN校验码(10.0分)
国际标准书号(ISBN)用10为数字唯一标识的一本书。(我硬是不知道这句话有多少处奇怪的语病,好像是出题的人打错了一堆字)最后一位数字为校验和,可以由其他9位数字计算出来,且d1+2d2+3d3+..…+10d10必须是11的倍数(di的下标表示从右边起第i个数)。校验和必须是介于0到10中的一个数字,用字母x表示10、例如,020131452的校验和是5,因为对于以下11的倍数的公式,5是唯一的介于0-10之间的数,10*0+9*2+8*0+7*1+6*3+5*1+4*4+3*5+2*2+1*5.
编写一个python程序,将9位整数作为输入,计算校验和并打印isbn号
例如:输入020131452,输出0201314525
利用for_in循环可解,难度也不高,但这好像是这张试卷第二难的大题。
a=input()
l=list(a)
for i in range(11):
if (10*eval(l[0])+9*eval(l[1])+8*eval(l[2])+7*eval(l[3])+6*eval(l[4])+5*eval(l[5])+4*eval(l[6])+3*eval(l[7])+2*eval(l[8])+i)%11==0:
n=str(i)
if n == '10':
n = 'X'
print(a+n)
3.小时工工资计算(10分)
某公司按小时计费工资。规定每周5个工作日,每天工作8小时。工作日超时工作工资为正常工资的1.5倍。休息日工资,4小时内为正常工资的2倍,超过4小时为正常工资的3倍。
输入每小时工资,员工每周的工作日工作小时数和休息日工作小时数,计算其该月工资
例如每小时工资30元。工作日50小时,休息日8小时,其工资为2250.00元
这关是一个简单的if分支结构,类似于实训中的阶梯水价。
a=eval(input())
h1=eval(input())
h2=eval(input())
if h1/5 <= 8:
m1 = h1 * a
else:
m1 = 40 * a + (h1-40) * a * 1.5
if h2 <= 4:
m2 = h2 * 2 * a
else:
m2 = 4*2 * a + (h2-4) * 3 * a
print(m1+m2)
4.python语言期中补考循环数列5 (10.0分)
输入n,计算下列数列和
1+1+√2+1+√2+√3+1+√2+√3+…+√n.
例如,输入5,输出22.09(平方根使用sqrt函数)
本题考察循环。理论上如果你能用数列的知识直接算出前n项和也可以逃课。
import math
n=eval(input())
s=0
a=0
for i in range(1,n+1):
s+=math.sqrt(i)
a+=s
print("{:.2f}".format(a))
5.python期未模拟組合数据— (10.0分)
十位评委对六位歌手打分,六位歌手的得分数据如fs列表所示
fs=[['zhang',9.5,9.8,9.7,9.6,9.5,9.9,9.6,9.2,9.3,9.7], ['huang', 8.5,8.8,7.7,7.6,8.5,8.3,9.1,7.8,7.5,9.3],
Ґ'liu',9.5,8.8.7.2,9.6,8.5,6.5.6.3,7.6.9.9],['chen'9.5,9.8,8.7,8.6,7.5,8.8,8.1,9.3,9.2,9.9],
[lin,9.9,7.8,7.5,7.2,6.5,9.1,9.2,9.3,8.5,8.2],
['ye' 9.8,6.8,6.2,9.3,7.5,8.3,9.1,9.4,8.7,8.9]]
计算每位歌手的实际得分,即去掉一个最高分、一个最低分的平均分,按从高到低的顺序,输出前3名的名次、姓名和实际得分(保留两位小数)
本题考察二维列表,是全卷最难的大题,而且我们压根没学到,所以感谢lzy大神@雷神不爱编程 提供的答案。
fs=[['zhang',9.5,9.8,9.7,9.6,9.5,9.9,9.6,9.2,9.3,9.7],
['huang',8.5,8.8,7.7,7.6,8.5,8.3,9.1,7.8,7.5,9.3],
['liu',9.5,8.8,7.2,9.6,8.5,6.5,6.3,7,6.9,9],
['chen',9.5,9.8,8.7,8.6,7.5,8.8,8.1,9.3,9.2,9.9],
['lin',9.9,7.8,7.5,7.2,6.5,9.1,9.2,9.3,8.5,8.2],
['ye',9.8,6.8,6.2,9.3,7.5,8.3,9.1,9.4,8.7,8.9]]
for i in range(len(fs)):
zdz=0
zxz=10
zf=0
pjf=0
for j in range(1,11):
if fs[i][j]>=zdz:
zdz=fs[i][j]
if fs[i][j]<=zxz:
zxz=fs[i][j]
zf+=fs[i][j]
dxh=fs[i].index(zdz)
xxh=fs[i].index(zxz)
fs[i].pop(dxh)
fs[i].pop(xxh)
zf=zf-zdz-zxz
pjf=zf/8
fs[i].append(pjf)
fs.sort(key=lambda x:x[9],reverse=True)
for l in range(3):
print("第{}名姓名{}分数{:.2f}".format(l+1,fs[l][0],fs[l][9]))
6.Python循环银行利息计算(10.0分)
某人有资金100000元,他存入银行一年期的大额存款,年利率为5%,一年后又将所有资金转存。若银行利率一直不变,求想获得指定金额的资金,存款至少需要多少年。例如,输入1200000,返回4.
本题考察while循环,其实比较基础。不过由于range()函数只能将年份限定在一定范围,这关不能用for_in循环。需要用while循环才能完全解决问题。
a=120000
n=0
s=100000
i=0
while s < a:
s=1.05*s
n+=1
print(n)
总结:原卷选择题答案错一大堆;大题目大多比较简单(除了第五题)。