【单选题】(每题2分)
1、下面哪个表达式的结果和其他三项不同?( )
A、not ''
B、4 != 3 + 2 and 5 == 3
C、5 > 2 + 1 or 3 < 2 * 4
D、1 + 4 <= 5
正确答案:B
试题解析:选项A,''-空字符串,布尔值为False,not ''则为True。
选项B,第一个条件成立,第二个不成立,and之后结果为False。
选项C,第一个条件成立,第二个不成立,or之后结果为True。
由此即可看成,应该选B。
2、运行下面的代码,输出的结果是?( )
s = 0for j in range(5):s = s + jif s > 5:breakprint(j)A、3
B、4
C、5
D、6
正确答案:A
试题解析:j的值是从0到4。
第一次循环,j=0,s=0;
第二次循环,j=1,s=1;
第三次循环,j=2,s=3;
第四次循环,j=3,s=6,此时满足s>5,循环中断。
打印j的值为3。
3、运行下面的代码,输出的结果是?( )
s = 0for m in range(4):x = m * 2 + 1s += xprint(s)A、18
B、17
C、16
D、15
正确答案:C
试题解析:循环中m的值从0到3;
第一次循环,m=0,x=1,s=1;
第二次循环,m=1,x=3,s=4;
第三次循环,m=2,x=5,s=9;
第四次循环,m=3,x=7,s=16。
4、运行如下代码,输出的结果是?( )
a = 1if a > 0:a = a + 1if a > 1:a = 5print(a)A、0
B、1
C、2
D、5
正确答案:D
试题解析:a的初始值为1,第一个if条件满足,执行a=a+1,a的值为2。接着执行第二个if判断,条件也是满足,执行a=5。打印结果是5。
5、运行下面的代码,一共可以打出多少个a?( )
for i in range(5):print('aa')print('aa')A、12
B、10
C、8
D、6
正确答案:A
试题解析:循环5次,每次打印2个a,有10个a,再加上后面一个直接打印2个a,一共12个a。
6、以下选项中,属于计算机输出设备的是?( )
A、运算器
B、中央处理器
C、内存条
D、显示器
正确答案:D
试题解析:显示器属于输出设备。
7、运行下面的代码,输出的结果为?( )
a = 'm'for i in range(2):a = a + 'ab'print(a)A、mabab
B、mababab
C、ababm
D、abababm
正确答案:A
试题解析:a初始值为'm',循环两次,每次a的增加'ab',结果则为'mabab'。这里字符串的加法,表示字符串连接。
8、运行上述代码,输入:1,以下说法错误的是?( )
x = input()y = '357'z = int(x)A、变量x中存储的是字符串
B、执行print(x + y),结果为1357
C、int(x)会把字符串'1'转换为数字1
D、执行print(y + z),结果为3571
正确答案:D
试题解析:输入1时,x='1',是字符串数据,y也是字符串数据,z是把x转换成整数,z=1,执行print(y+z)会报错,字符串和整数不能直接相加。
9、以下哪个表达式的结果为False?( )
A、5 == 2 + 3
B、7 - 2 * 3 == 1
C、2 + 6 % 4 != 4
D、6 != 4 + 1
正确答案:C
试题解析:选项C,左边的值为2+2=4,右边也为4,4!=4,结果为False。
10、运行下列的代码,输出的结果为?( )
x = 4y = 3if x > 4:x += 1else:y -= 1print(x + y)A、6
B、5
C、4
D、3
正确答案:A
试题解析:x初始值为4,不满足if x>4条件,执行else部分的代码,则y=2。
x+y的值为6。
11、运行如下代码,输出的结果为?( )
s = 10while True:if s//4 == 1:breaks -= 1print(s)A、10
B、9
C、8
D、7
正确答案:D
试题解析:s的初始值为10,执行while里面的循环:
第一次,s//4为2,不满足s//4==1,执行s -= 1,s=9。
第二次,s//4为2,不满足s//4==1,执行s -= 1,s=8。
第三次,s//4为2,不满足s//4==1,执行s -= 1,s=7。
第四次,s//4为1,满足s//4==1,执行break,循环结束。
打印s值为7。
12、关于字符串'1'和'111',下列说法错误的是?( )
A、打印'1'+'111'的结果,程序不会报错
B、'1' * 3,可以得到'111'
C、print('1' * '111')的结果还是'111'
D、表达式'111' == '1'+'1'+'1'的值是True
正确答案:C
试题解析:选项C,两个字符串不能相乘。
13、想要让画笔t向前移动60步,可以使用以下哪个命令?( )
A、t.right(60)
B、t.left(60)
C、t.forward(60)
D、t.circle(60)
正确答案:C
试题解析:前进是forward()函数。
14、以下算式中,哪一个计算结果比5小?( )
A、4 + 6.0
B、2 ** 3
C、210 // 7
D、8 / 3.0
正确答案:D
试题解析:选项A的结果为10.0。
选项B的结果为8。
选项C的结果为:30。
选项D的结果为:2.67。
15、运行这段程序,一共会打印出几句“今天不上学”?( )
a = '今天不上学'print('今天不上学')print(a)print('a')A、1
B、2
C、3
D、4
正确答案:B
试题解析:第二行和第三行程序会打印“今天不上学”,最后一行则是打印字符'a'。
一共打印两行‘今天不上学’。
【多选题】(每题3分)
16、以下关于缩进的说法中,正确的是?( )
A、缩进能显示出代码块的所属关系和从属范围
B、Python用缩进表示程序的格式框架,所有代码都需要缩进
C、缩进是可以嵌套的,从而形成多层缩进
D、可以使用Home键实现快速缩进
正确答案:AC
试题解析:选项B,最外层的代码不必使用缩进。
选项D,Home是回到行首,可以使用Tab键快速缩进。
17、下列说法正确的是?( )
A、每个if语句后面都必须有elif或else语句
B、if - elif - else语句可以嵌套使用
C、当if语句的条件表达式为真时,才会执行if语句的下级代码
D、当代码中有多个if语句并列时,只会执行第1个if语句
正确答案:BC
试题解析:选项A,if可以没有elif和else语句。
选项D,当代码中有多个if语句并列时,会按顺序逐个执行每个if语句。
18、关于这段代码,以下描述正确的是?( )
m = 1n = '2' + '3'l = '45'A、m是数字,不是字符串
B、l是字符串,不是数字
C、执行print(n),结果为5
D、执行print(n+l),结果为2345
正确答案:ABD
试题解析:m为数字,n和l为字符串,n的值为'23',C选项错误。
19、关于这段代码,以下的说法正确的是?( )
x = '2'y = 2z = 4A、print(x * z)和print(y * z)输出的结果相同
B、y == int(x)的值是True
C、print(z / y)的结果是2
D、执行print(x + y),程序会报错
正确答案:BD
试题解析:A选项,print(x * z)结果为'2222',print(y * z)结果为8。
B选项,int(x)即数字2,正确。
C选项,z / y的结果为2.0,这里是/是小数除法。
D选项,x和y是不同类型数据,不能直接相加,程序会报错。
20、想要让画笔pen左转60°,可以使用以下哪些命令?( )
A、pen.right(60)
B、pen.right(300)
C、pen.left(60)
D、pen.left(300)
正确答案:BC
试题解析:左转是left()函数,C选项显然是正确的。
另外也可以使用右转right()函数,旋转360-60和左转60度效果是一样的。
【编程题】
21、(本题10分)圣诞节就要到了,牛牛想给大家做一个许愿机。当输入了人名和想要的礼物后,程序就会显示谁的圣诞愿望是什么。例如:输入牛牛和滑板车,程序就会输出牛牛的圣诞愿望是滑板车。请你帮助牛牛完成这个程序吧~
【输入样例1】
牛牛
滑板车
【输出样例1】
牛牛的圣诞愿望是滑板车。
【输入样例2】
小月亮
盲盒
【输出样例2】
小月亮的圣诞愿望是盲盒。
参考程序:
name=input()wish=input()print(name+"的圣诞愿望是"+wish+"。")22、(本题10分)组成三角形的条件:任意两条边的长度之和大于第三条边。请编写程序实现输入三条边的长度,自动判断这三条边是否能组成三角形并输出结果。
【输入样例1】
3
4
5
【输出样例1】
可以
【输入样例2】
1
1
2
【输出样例2】
不可以
参考程序:
a=int(input())b=int(input())c=int(input())if(a+b>c and b+c>a and a+c>b):print("可以")else:print("不可以")23、(本题15分)请编写程序实现:输入两个整数后,自动输出两个整数的积、商、余数。
要求:
①有关除法的运算,都将输入的第一个数作为被除数;
②程序中要有表示计算过程的语句。
【输入样例】
8
6
【输出样例】
48
1
2
参考程序:
a=int(input())b=int(input())print(a*b)print(a//b)print(a%b)24、(本题20分)方方去超市购物买了好多好吃的。他想写一个小程序,能够直接计算购买的东西总价格。
方方会先告诉程序自己一共买了几样东西,然后依次输入每一种商品的价格,最后程序可以自动打印出结果。请你帮他实现程序内容。
(程序中要有表示计算过程的语句)
【输入样例】
5
4
3
2
7
6
【输出样例】
22
【输入说明】第一行的5表示一共买了5种东西,后面的每一行分别对应一种商品的价格。
参考程序:
n=int(input())s=0 #商品的和for i in range(n):x=int(input())s+=xprint(s)