python题目库
选择题
1.计算机语言的种类很多,按照其发展过程,不包括以下哪个?( )
A.机器语言 B.汇编语言 C.高级语言 D.人工语言
2.下面关于机器语言描述错误的是( )。
A.机器语言是最低级的语言,是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合
B.它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能
C.不同型号的计算机的机器语言是相通的
D.机器语言具有灵活、可直接执行和速度快等特点
3.下面关于汇编语言描述错误的是( )。
A.汇编语言是用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言
B.使用汇编语言编写的程序,能直接被机器识别
C.汇编语言的目标代码简短,占用内存少,执行速度快
D.汇编语言和机器自身的编程环境是息息相关的,用其编写的程序推广和移植比较困难
4.下面关于高级语言描述错误的是( )。
A.高级语言并不是特指某一种具体的语言,而是很多种编程语言
B.高级语言编写的程序能直接被计算机识别
C.对于解释类的高级语言,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行
D.编译类的高级语言在应用程序源代码执行之前,首先需要将源代码“翻译”成目标代码(机器语言代码)
5.以下哪个不是Python语言的特点?( )
A.语言简单 B.开源
C.面向对象 D.专属于某个特定的平台
6.关于Python的缺点以下哪个描述是错误的?( )
A.速度慢 B.存在多线程性能瓶颈
C.代码不能加密 D.Python 2.x和Python 3.x兼容
7.关于Python语言的应用,以下哪个描述是错误的?( )
A.第三方库pandas提供了功能强大的类库,可以帮助我们清洗数据、排序数据
B.第三方库NumPy和SciPy提供了丰富的科学计算和数据分析功能
C.第三方库Matplotlib提供了丰富的数据可视化图表
D.scikit-learn是Python自然语言工具包,用于诸如标记化、词形还原、词干化、解析、POS标注等任务
8.下面关于Python 2.x和Python 3.x的描述,哪个是错误的?( )
A.在Python 2.x中,整数相除(采用除法运算符“/”实现),结果是浮点数,而在Python 3.x中结果是整数
B.在Python 2.x中,print语句被Python 3.x中的print()函数所代替
C.Python 3.x源代码文件默认使用UTF-8编码,所以支持直接写入中文,而Python 2.x默认编码方式是ASCII,直接写入中文会被转换成ANSI编码
D.在Python 3.x中将range()与xrange()函数整合为一个range()函数,所以在Python 3.x中不存在xrange()函数
9.IDLE的常用快捷键中,表示“保存文件”的快捷键是( )。
A.F1 B.Ctrl+] C.Ctrl+Z D.Ctrl+S
10.以下哪个开发工具无法进行Python编程?( )
A.PyCharm B.JBuilder
C.Eclipse D.Jupyter Notebook
11.下面关于程序注释的描述错误的是( )。
A.Python中使用“#”表示多行注释
B.单行注释可以作为单独的一行放在被注释代码行之上
C.单行注释也可以放在语句或表达式之后
D.Python中使用3个单引号或3个双引号表示多行注释
12.下列选项中,哪一项不是合法的标识符?( )
A.USERNAME B.for
C.Day_1 D.input_name
13.下列选项中,哪一项不是正确的赋值语句?( )
A.a = 1 B.a = b = c = 1 C.str ="hello world" D.a == 1
14.下列关于变量的命名规则中,哪一项是正确的?( )
A.变量名的字母不区分大小写
B.变量名的第一个字符可以是下画线
C.变量名可以是关键字
D.变量名中可以使用空格
15.下列关于变量的描述中,哪一项是错误的?( )
A.变量的值在程序运行的过程中可以被改变
B.变量在使用前必须赋值
C.变量在赋值时需要声明类型
D.在Python中,允许多个变量指向同一个值
16.下面关于变量的说法正确的是( )。
A.变量的名称是可以改变的 B.变量的值是可以改变的
C.变量的值必须是整数 D.一个程序必须要有一个变量
17.下列变量名中,哪一项不符合正确的变量命名规则?( )
A.ID B._name C.2_year D.year_2
18.下面哪个变量名是正确的?( )
A.print B.else C.3_bar D.Bar_3
19.Python不支持的数据类型有( )。
A.char B.int C.float D.list
20.在Python中,下列选项中不属于数字的是( )。
A.-10 B.0x43 C.'100' D.2.36e-3
21.下列对象中,布尔值不为False的是( )。
A.0 B."" C.{} D."False"
22.下面哪个是布尔值?( )
A."True" B."False" C.True D.'True'
23.下面哪个值是整数?( )
A."50" B.2.87 C.-20 D.'30'
24.下列关于字符串的说法中错误的是( )。
A.字符应该视为长度为1的字符串
B.字符串可以用单引号、双引号和三引号来创建
C.字符串中使用“/”来对特殊字符进行转义
D.三引号中的字符串可以包含换行符等特殊字符
25.下面代码的输出结果是( )。
a = 'Hello'
#a='Good'
print(a,'World')
A.Hello World B.Hello Good World
C.Good Hello World D.HelloWorld
26.Python中获取用户输入的命令为( )。
A.read B.get C.open D.input
27.print('Hello'+'World')的结果是( )。
A.Hello World B.HelloWorld
C.'Hello+World' D.'Hello'+'World'
28.print('%f' % 1.23456789)会输出什么?( )
A.1.23 B.1.234567 C.1.234568 D.1
29.下列哪条语句可以输出“Hi, ”,即前面为“Hi, ”,总长度为20的字符串?( )
A.print('%20s' % 'Hi') B.print('%-20s' % 'Hi,')
C.print('%s' % 'Hi') D.print('%.20s' % 'Hi')
30.从键盘输入一个整数赋值给number,下面哪一句是正确的?( )
A.number = input('请输入一个整数:')
B.number = input("请输入一个整数:")
C.number = int(input('请输入一个整数:'))
D.number = str(input('请输入一个整数:'))
31.下列运算中会导致程序报错的是( )。
A.-100 % -5 B."hello" * 3
C.1 + 'b' D."hello" + "world"
32.Python中用来将变量转化为整型变量的函数是( )。
A.toInt B.int C.str D.strToInt
33.下面描述正确的是( )。
A.Python编程语句区分字母大小写
B.Python中代码注释要用到“//”
C.Python中在使用字符变量前要对其进行定义
D.Python中需要将循环执行的语句放入{}内
34.下列哪个语句在Python中是非法的?( )
A.x = y = z = 1 B.x,y = y,x C.x*=y D.x = y+z =1
35.下列运算符中优先级最高的是( )。
A.* B.** C.not D.!=
36.下面对常量的描述哪个是正确的?( )
A.常量的值不可以随时改变 B.常量的值是可以随时改变的
C.常量的值必须是数值 D.常量不可以给变量赋值
37.M_N=input()表示( )。
A.输入一个值,赋值给变量M_N
B.输入两个值,分别赋值给变量M和N
C.输入一个变量,它的内容为M-N
D.输入一个值,同时赋值给变量M和N
38.下面哪个不属于Python语言的保留字?( )
A.True B.for C.static D.while
39.在Python 3中执行如下语句的结果是( )。
world = 'World'
print 'Hello'+world
A.HelloWorld B.Hello World C.'Hello'+world D.程序会报错
40.下面两行代码的执行结果是( )。
print(4==3 or 3>2)
print(3>=3 and 5>3)
A.True,True B.true,true C.True,False D.False,True
41.下面代码的执行结果是( )。
x = 4
x += 2
x *= 5
print(x)
A.20 B.30 C.40 D.10
42.下面语句执行以后,如果从键盘输入10,则下面表达式结果为True的是( )。
x = 5
y = int(input('请输入数据:'))
A.x<y B.x>y C.x=y D.以上都不对
43.假设变量x=4、y=7,下面表达式是真(True)的是( )。
A.x>=y B.x>0 and y!=7 C.x>3 or y<5 D.not y>x
44. 简单分支结构是最基础的程序结构,在程序设计中一般用不到。( )
A.正确 B.错误
45.Python语法认为条件x<=y<=z是合法的。( )
A.正确 B.错误
46.请分析下面的程序,若输入score为74,输出的grade是( )。
x=int(input("input score:"))
if x>=60:
grade='D'
elif x>=70:
grade='C'
elif x>=80:
grade='B'
else:
grade='A'
print(grade)
A.A B.B C.C D.D
47.有如下程序段:
a,b,c=70,50,30;
if(a>b):
a=b
b=c
c=a
print(a,b,c)
程序的输出结果为( )。
A.70 50 70 B.50 30 70 C.70 30 70 D.50 30 50
48.以下可以终结一个循环的保留字是( )。
A.if B.break C.exit D.continue
49.死循环对程序没有任何益处。( )
A.正确 B.错误
50.设有程序段:
k=10
while k==0:
k=k-1
下列说法正确的是( )。
A.while循环执行10次 B.无限循环
C.循环不执行 D.循环执行一次
51.下列程序可以正常结束的是( )。
A.i=5 B.i=-5
while(i>0): while(i<0):
i+=1 i-=1
C.i=5 D.i=5
while(i<=5): while(i>0):
i-=1 i-=1
52.下列程序的输出结果为( )。
s,t,u=0,0,0
for i in range(1,4):
for j in range(1,i+1):
for k in range(j,4):
s+=1
t+=1
u+=1
print(s,t,u)
A.3 6 14 B.14 6 3 C.14 3 6 D.16 4 3
53.执行下列程序后,k的值为( )。
k=1
n=263
while n:
k*=n%10
n//=10
A.11 B.263 C.36 D.0
54.下面程序的执行结果为( )。
for x in range(21,28,3):
print(x)
A.21 22 23 24 25 26 27 28 B.21 22 23 24 25 26 27
C.21 23 25 27 D.21 24 27
55.下面程序的执行结果为( )。
n = 0
for x in range(10,20):
if x % 2 == 0:
n += 1
print(n)
A.3 B.4 C.5 D.6
56.下面程序的执行结果为( )。
for x in range(10,1,-2):
print(x)
A.10 8 6 4 2 B.10 9 8 7 6 5 4 3 2 1
C.10 6 2 D.10 9 8 7 6 5 4 3 2 1 -1 -2
57.令list = [1,2,3],则分别执行命令del list[1]和list.remove(1)后的list为( )。
A.[1,3],[1,3] B.[1,3],[2,3] C.[2,3],[1,3] D.[2,3],[2,3]
58.令list = [1,2,3,4,5],则print(list[1:5])的结果为( )。
A.[1,2,3,4] B.[1,2,3,4,5] C.[2,3,4,5] D.[2,3,4]
59.令list = [1,2,3,4,5],则print(list[::2])的结果为( )。
A.[1,2] B.[1,3,5] C.3 D.[3]
60.令list = [1,2,3,4,5],则print(list[:-2:])的结果为( )。
A.[1,2,3] B.[3,4,5] C.[1,3,5] D.[5,3,1]
61.令list = [i for i in range(1,10,2)],则print(list[::-1])的结果为( )。
A.[9,7,5,3,1] B.[1] C.[1,3,5,7,9] D.[9]
62.下列哪种操作会创建一个新的列表?( )
Ⅰ.list1.extend(list2) Ⅱ.list1 = list1+list2 Ⅲ.list1 = list1 * 2
A.Ⅰ,Ⅱ B.Ⅰ C.Ⅰ,Ⅲ D.Ⅱ,Ⅲ
63.下列哪项描述是正确的?( )
Ⅰ.元组和列表都属于序列
Ⅱ.元组和列表都能进行切片操作
Ⅲ.元组和列表都能进行增删改查操作
Ⅳ.元组的访问速度和处理速度比列表更快
A.Ⅰ B.Ⅰ,Ⅱ,Ⅳ C.Ⅰ,Ⅱ,Ⅲ,Ⅳ D.Ⅰ,Ⅳ
E.Ⅱ,Ⅳ F.Ⅰ,Ⅲ,Ⅳ G.Ⅱ,Ⅲ,Ⅳ
64.令tuple1 = (x for x in range(1,5)),则经过命令print(tuple1._ _next_ _())后,tuple1生成器内的元素为( )。
A.(1,2,3,4) B.(1,2,3,4,5) C.(2,3,4,5) D.(2,3,4)
65.下列哪种方式能产生元组?( )
A.tuple1 = (0) B.tuple1 = (0,) C.tuple1 = (x for x in range(10)) D.tuple1 = [0] E.tuple1 = [x for x in range(10)]
66.下列哪些数据类型为不可变类型?( )
Ⅰ.字符串 Ⅱ.列表 Ⅲ.元组 Ⅳ.字典 Ⅴ.集合
A.Ⅰ B.Ⅰ,Ⅱ,Ⅲ C.Ⅲ D.Ⅰ,Ⅲ
E.Ⅰ,Ⅲ,Ⅳ F.Ⅲ,Ⅳ G.Ⅲ,Ⅳ,Ⅴ
67.下列哪种数据类型不可以作为字典的键?( )
A.数字 B.字符串 C.列表 D.元组
68.令nums = [1,2],chars = ['a', 'b'],则print(dict(zip(nums,chars)))的结果为( )。
A.{1: 'a',2: 'b'} B.{1:[ 'a', 'b'],2:[ 'a', 'b']}
C.{1: 'b',2: 'a'} D.{ 'a':1, 'b':2}
69.令dict1 = {1:2,2:3,3:4},dict2 = {v:u for u,v in dict1.items() if v>=3},则printf(dict2)的结果为( )。
A.{2:3,3:4} B.{3:2,4:3} C.{3:4} D.{4:3}
70.令dict1 = {'1':'one', '0': 'zero'},则dict1.get(0, "not found")的返回结果为( )。
A.'one' B.'zero' C.None D.'not found'
71.令dict1 = {'语文':88, '数学':95, '英语':82 },则下列哪条命令能删除英语成绩?( )
A.del dict1[2] B.del dict1[3]
C.del dict1[英语] D.del dict1['英语']
72.令set1 = {0,1,1,2,2,(3,4,4,5,5)},则print(len(set1))的结果为( )。
A.10 B.6 C.5 D.4
73.下列关于集合的描述哪些是正确的?( )
Ⅰ.集合是无序的
Ⅱ.集合的元素可以是元组或者集合
Ⅲ.集合的元素都互不相同
Ⅳ.可以通过empty_set = {}的方式创建空集合
A.Ⅰ,Ⅱ,Ⅲ,Ⅵ B.Ⅰ,Ⅱ,Ⅲ
C.Ⅰ D.Ⅰ,Ⅲ,Ⅵ
E.Ⅱ,Ⅵ F.Ⅰ,Ⅱ,Ⅵ
G.Ⅰ,Ⅲ H.Ⅱ,Ⅲ,Ⅵ
74.令set1 = set('aabbc'),set2 = set('bcdd'),则print(set1|set2)的结果为( )。
A.{ 'aabbc', 'bcdd'} B.{'abcd'}
C.{'aabbcdd'} D.{ 'a', 'a', 'b', 'b', 'c', 'b', 'c', 'd', 'd'}
E.{ 'd', 'b', 'c', 'a'}
75.令set1 = set('aabbc'),set2 = set('bcdd'),则print(set1&set2)的结果为( )。
A.{ 'bc'} B.{ 'bbcbc'}
C.{ 'c', 'b'} D.{ 'b', 'b', 'c', 'b', 'c'}
76.令set1 = set('aabbc'),set2 = set('bcdd'),则print(set1-set2)的结果为( )。
A.{'aabbc'} B.{ 'aab'} C.{ 'a', 'a', 'b'} D.{ 'a'}
77.以下哪个选项属于字符串?( )
A.100 B."s" C.("str") D.["s"]
78.在非长字符串中,换行符应当如何表示?( )
A.\n B.\r C.\0 D.\newline
79.在长字符串中,如何不显示换行符?( )
A.行尾加/ B.行尾加\r C.行尾加\ D.行尾加\0
80.在字符串"pYthOn"中,索引为-3的字符是什么?( )
A.p B.t C.H D.h
81.对字符串"python"切片时,以下哪种写法会返回空字符串?( )
A.stri[1:2] B.stri[:-5] C.stri[-2:-3] D.stri[-4:]
82.有用户输入了一串名字,用逗号隔开。现在需要使用Python验证其中每个姓名是否都以“张”字开头。那么以下哪种思路是正确的?( )
A.从索引为1处开始,每3个取一个字符,判断是否为“张”字
B.用split函数将字符串拆开,判断所有子串索引为0的位置是否为“张”字
C.用list函数将字符串拆开,判断每一个逗号后面接的字符是否为“张”字
D.以上思路都不行
83.在以下格式字符串中,哪种写法不能用来格式化整数10?( )
A.{:#.2} B.{:< 5} C.{:#8X} D.{:<5}
84.以下哪种文件打开后可能有乱码?( )
A.以ASCII保存,以Unicode打开 B.以GB2312保存,以GBK打开
C.以Unicode保存,以GBK打开 D.以ASCII保存,以GB2312打开
85.有一个列表a_list=['www','xmu','edu','cn'],如果要得到一个字符串'www.xmu.edu.cn'并输出,可以使用以下哪条语句?( )
A.print(".".join(a_list)) B.print("_".join(a_list))
C.print(join(a_list,',')) D.print(join(a_list,'_'))
86.有一个字符串string = "Hadoop is good", 现在需要将字符串里的Hadoop替换成hadoop,可以使用以下哪条语句来实现?( )
A.'Hadoop'.replace('hadoop',string) B.'hadoop'.replace('Hadoop',string)
C.'Hadoop'.replace(string,'hadoop') D.string.replace('Hadoop', 'hadoop')
87.有一个字符串 string = "Spark is fast\n",该字符串的末尾有一个换行符,可以使用以下哪条语句删除这个字符串末尾的换行符?( )
A.string.strip() B.string.cut()
C.string.cutoff() D.string.stripoff()
88.给定一个字符串a,需要以逆序的方式输出a,可以使用以下哪条语句?( )
A.a[-1::] B.a[:-1:] C.a[::-1] D.a[-1:-1:]
89.以下哪条语句的输出结果是'□□□□□+3.14'(□表示空格)?( )
A.'%+10.2f' % 3.14 B.'%-10.2f' % 3.14
C.'%10.2f' % 3.14 D.'%*10.2f' % 3.14
90.下面描述错误的是( )。
A.标准库是安装Python时自带的,不需要额外安装
B.第三方库需要额外安装
C.turtle库、random库、time库和jieba库都是标准库
D.PyInstaller库、jieba库、wordcloud库和Matplotlib库都是第三方库
91.下面描述错误的是( )。
A.turtle.pensize()用于设置画笔的宽度
B.turtle.pencolor()如果没有传入参数,则返回当前画笔颜色;如果有传入参数,则设置画笔颜色
C.turtle.speed(speed)用于设置画笔的移动速度,画笔移动的速度是[0,10]的整数,数字越大速度越慢
D.turtle.goto(x,y)表示将画笔移动到横、纵坐标分别为x、y的位置
92.关于random库,下面描述错误的是( )。
A.random库是用来生成随机数的Python标准库
B.random库主要包含两类函数,即基本随机数函数和扩展随机数函数
C.随机数种子决定产生的随机数序列
D.即使随机数种子一样,random()产生的随机数也无法重现
93.关于time库,下面描述错误的是( )。
A.time库是Python中处理时间的标准库
B.time库包含3类函数:时间获取函数、时间格式化函数、程序计时函数
C.gmtime()用于获取当前时间,并返回一个以人类可读的方式表示的字符串
D.ctime()用于获取当前时间,并返回一个以人类可读的方式表示的字符串
94.关于jieba库,下面描述错误的是( )。
A.jieba.cut(s)属于全模式,返回一个可迭代的数据类型
B.jieba.cut_for_search(s)属于搜索引擎模式
C.jieba.lcut(s)属于精确模式,返回一个列表类型
D.jieba.add_word(w)的功能是向分词词典中增加新词w
题号
1
2
3
4
5
6
7
8
9
10
答案
D
C
B
B
D
D
D
A
D
B
题号
11
12
13
14
15
16
17
18
19
20
答案
A
B
D
B
C
B
C
D
A
C
题号
21
22
23
24
25
26
27
28
29
30
答案
D
C
C
C
A
D
B
C
B
C
题号
31
32
33
34
35
36
37
38
39
40
答案
C
B
A
D
B
A
A
C
D
A
题号
41
42
43
44
45
46
47
48
49
50
答案
B
A
C
B
A
D
D
B
B
C
题号
51
52
53
54
55
56
57
58
59
60
答案
D
B
C
D
C
A
B
C
B
A
题号
61
62
63
64
65
66
67
68
69
70
答案
A
D
B
D
B
D
C
A
B
D
题号
71
72
73
74
75
76
77
78
79
70
答案
D
D
G
E
C
D
B
A
C
D
题号
81
82
83
84
85
86
87
88
89
90
答案
C
B
A
C
A
D
A
C
A
C
题号
91
92
93
94
答案
C
D
C
A
判断题
1. Python属于编译类的高级语言。(×)
2. Python是一种跨平台、开源、免费的高级动态编程语言。(√)
3. Python 3.x和2.x的唯一区别是:print语句的用法。(×)
4. Python采用的是基于值的自动内存管理方式。(√)
5. 在Python中可以使用if作为变量名。(×)
6. 列表和元组可以作为字典的“键”。(×)
7. 字典的“键”必须是不可变的,且不能重复。(√)
8. Python集合不支持使用下标访问其中的元素。(√)
9. Python 3.x支持使用中文作为变量名。(√)
10. 字符串属于Python有序序列,和列表、元组一样都支持双向索引。(√)
11. 只能通过切片访问元组中的元素,不能使用切片修改元组中的元素。(√)
12. 当以指定“键”为下标给字典对象赋值时,若该“键”存在,则表示修改该“键”对应的“值”;若不存在,则表示为字典对象添加一个新的“键-值对”。(√)
13. Python字典和集合支持双向索引。(×)
14. 使用del命令或者列表对象的remove()方法删除列表中元素时会影响列表中部分元素的索引。(√)
15. 如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20,40)的作用是等价的。(√)
16. 在循环中,continue语句的作用是跳出当前循环。(×)
17. Python运算符%不仅可以用来求余数,还可以用来格式化字符串。(√)
18. Python中,student和Student属于同一个变量。(×)
19. 在GBK编码中,一个汉字需要2个字节。(√)
20. 使用Python列表的方法insert)为列表插入元素时会改变列表中插入位置之后元素的索引。(√)
21. 假设x为列表对象,那么x.pop()和x.pop(-1)的作用是一样的。(√)
22. 列表对象的append()方法属于原地操作,用于在列表尾部追加一个光素。(√)
23. 已知A和B是两个集合,并且表达式A<B的值为False,那么表达式A>B的值一定为True。(×)
24. 相同内容的字符串使用不同的编码格式进行编码得到的结果并不完全相同。(√)
25. 删除列表中重复元素最简单的方法是将其转换为集合后再重新转换为列表。(√)
26. 创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如(3,)。(√)
27. 同一个列表对象中所有元素须为相同类型。(×)
28. 可以使用del删除集合中的部分元素。(×)
29. 表达式[]==None的值为True。(×)
30. 当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False。(√)
31. turtle库、random库、time库和jieba库都是Python的标准库。(×)
32. 关于random库,当随机数种子一样时,random()产生的随机数可以重现。(√)
33. 关于字符串,可以通过改变索引对应值的方法来修改字符串。(×)
34. 字符串切片操作后,返回的值可以是列表。(×)
35. 格式化字符串时,格式化的规则必须严格按照规定的顺序进行书写。(√)
36. 在格式化规则中,“{0:<+#08x}”等价于“{0:0<+#8x}”。(√)
37. 使用from…import语句导入模块后,可以不加前缀直接调用函数。(√)
38. Matplotlib属于标准库,无需安装。(×)
39. Python是通过冒号来判断操作是否在分支结构中。(×)
40. x=10,y=4,则x//y的结果为2.5。(×)
41. 假设s表示某个序列类型数据,则“s.count(x)”的含义是统计序列s中‘x’字符的个数。(×)
42. while循环一般用于循环次数已知的情况。(×)
43. range(2,5)生成的数值是2、3、4、5。(×)
44. 集合的交集是指把两个集合中的元素合并到一起。(×)
45. 多行注释的本质是一个多行字符串,只是没有赋值给变量。(√)
46. 正向索引的索引值从0开始,从左向右依次加1;反向索引的索引值从0开始,从右向左依次减1。(×)
47. a= ‘string’,则a[-1:-3]的结果为 ‘in’。(×)
48. 转义字符“\ooo”表示只能使用3位的八进制数。(×)
49. Python标准库random的方法randint(m,n)用来生成一个[m,n]区间上的随机整数。(√)
50. 安装第三方库时,需要用到pip install命令。(√)
程序分析题
1. 如下程序的输出结果为: 。
s = 0
for i in range(10):
s +=i
print(s)
参考答案:45
2. 如下程序的输出结果为: 。
s = 0
for i in range(1,11,2):
s *=i
print(s)
参考答案:0
3. 补充缺失的程序代码,实现如下分段函数的计算:
x = int(input("请输入x:"))
if x<5 :
y = 0
:
y = 5*x-25
else:
y =
参考答案:elif x<10 (x-5)**2 或(x-5)*(x-5)
4. 补充缺失的程序代码,实现如下分段函数的计算:
x = int(input("请输入x:"))
if x>=1 :
y =
elif :
y = (x+1)**2
else:
参考答案:3*((x-1)**0.5) x>=0 或 4*(x**3)/9
5. 补充缺失的程序代码,输出如下图形:
*
***
*****
*******
x = int(input("请输入待显示的行数x:"))
for i in range(x):
print( )
参考答案:"*"*(2*i+1)
6. 补充缺失的程序代码,输出如下图形:
*
***
*****
*******
x = int(input("请输入待显示的行数x:"))
for i in range(x):
print( ,end = "")
print( )
参考答案:" "*(2*(x-i+1)) "*"*(2*i+1)
7. 如下程序的输出结果是: 。
n = 50361
count = 0
while(n):
n = n//10
count = count +1
print(count)
参考答案: 5
8. 补充缺失的代码,使之能够输出整数的位数,如4位整数1234,输出4。
n = int(input("输入正整数n:"))
while(n):
count = count +1
print(count)
参考答案: count = 0 n = n//10 或 n//=10
9. 如下程序的输出结果是: 。
x = 371
a = x // 100
b = x //10%10
c = x%10
if x==a**3+ b**3+c**3:
print(f"{x}:YES")
else:
print(f"{x}:NO")
参考答案: 371:YES
10. 补充缺失的代码,使之能够判断输入的正整数x是否为素数。
x = int(input("请输入大于1的正整数x:"))
k =
for i in :
if x%i == 0:
print(f"{x}不是素数")
break
else:
print(f"{x}是素数")
参考答案: int(x**0.5) range(2,k+1)
11. 补充缺失的代码,使如下程序段能够找到列表alist中任意相加等于9的元素的集合,如[{3,6},{2,7}]等。
alist = [3,6,10,14,2,7]
rlist = []
for i in alist:
for j in alist:
if i+j==9 and {i,j} rlist:
rlist.append( )
参考答案: not in {i,j}
12. 如下程序的输出结果是: 。
alist = [3,6,10,14,2,7,8,4]
rlist = []
for i in alist:
for j in alist:
if i+j==10 and {j,i} not in rlist:
rlist.append({i,j})
print(rlist)
参考答案: [{3, 7}, {4, 6}, {8, 2}]
13. 补充程序代码,将alist中所有不属于atuple的元素保存到新的列表blist中。
alist = [23,56,21,10,5,64,12,90]
atuple = (5,56)
rlist = []
for x in alist:
if x atuple:
参考答案: not in rlist.append(x)
14. 如下程序的输出结果是: 。
alist = [23,34,45,56,67,78,90]
atuple = (34,56,78)
rlist = []
for x in alist:
if x not in atuple:
rlist.append(x)
print(rlist)
参考答案: [23, 45, 67, 90]
15. 如下代码运行后的输出结果是: 。
alist=[1,3,5,7,9,3,6,7,9]
alist= list(set(alist))
print(alist)
参考答案: [1, 3, 5, 6, 7, 9]
16. 补充缺失的代码,统计alist中各单词出现的个数。
alist = ["this","big","cat","big","cat","too","big"]
adict = dict()
for i in alist:
adict[i] =
for k,v in :
print(k,v)
参考答案: adict.get(i,0) + 1 adict.items()
17. 补充缺失的代码,计算字典中所有学生的平均成绩(保留两位小数)。
adict = {"语文":78, "数学":97, "英语":89, "物理":95,"化学":91}
n = len(adict)
s = sum( )
avr = s/n
print("平均成绩为{0:.2f}".format( ))
参考答案: adict.values() avr
18. 如下程序段的输出结果是:
adict = {"政治":98, "语文":77, "数学":99, "历史":65}
for x in list(adict.items()):
if x[1]<70:
del adict[x[0]]
print(sum(adict.values()))
参考答案: 274
19. 补充缺失的代码,使其输出结果为'fuyang'
src = "c:\\workspace\\python\\output\\fuyang.json"
s = src.split("\\")[-1]
t =
print(t)
参考答案: s.split(".")[0]
20. 补充缺失的代码,使其输出结果为:"c:\\workspace\\python\\syc\\ret.json"
alist = ['c:', 'workspace', 'python', 'syc', 'ret','json']
s = "\\".join( )
t = ".".join( )
path = "\\".join( )
print(path)
参考答案: alist[:4] alist[4:] [s,t]
21. 补充缺失的代码,实现猜数游戏。游戏先随机生成一个1-100之间的整数magic,用户有6次机会猜这个数字。
import random
magic = random.randint(1,100)
count = 6
for i in range(1,count+1):
guess = int(input("猜一个1-100之间的整数:"))
if guess <magic:
print("猜的小了!")
elif :
print("猜的大了!")
else:
print(f"恭喜你,你猜了{i}次,终于猜对了!正确答案就是{magic}")
else:
print(f"你猜了{i}次,都没有猜对!正确答案是{magic}")
参考答案: guess > magic break
程序设计题
1. 利用以下input 函数输入字符串并for循环对字符串的每个字符遍历,若遇到小写字母改成大写。
提示:
---input()函数可以键盘输入
---for 循环表达式 for s in string:
---upper 小写改大写
参考程序代码:
aString = input('请输入一个字符串:')
bString = ''
for char in aString:
if 'a' <= char <= 'z':
bString += char.upper()
else:
bString += char
print(bString)
2. 检测输入的字符串是否合法,字符串必须大写字母开头且由数字和字母共同组成。例如,Abc1123,合法。
提示:
----salpha() 检测字符串是否全部由字符组成
----isdigit() 检测字符串是否全部由数字组成
参考程序代码:
username = input('用户名:')
if 'A' <= username[0] <= 'Z':
if username.isalpha() or username.isdigit():
print('不合法')
else:
for i in username:
if not ('1' <= i <= '9' or 'A' <= i <= 'Z' or 'a' <= i <= 'z'):
print('不合法')
break
else:
print('合法')
else:
print('不合法,第一个字母必须是大写字母')
3. 打印如下效果:
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
参考程序代码:
for i in range(6,0,-1):
a = 6 - i
print(' '*a,end='')
for j in range(1,7):
if j <= i:
print(j,end=' ')
print()
4. 打印如下效果:
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
参考程序代码:
for i in range(6,0,-1):
for j in range(1,7):
if j <= i:
print(j,end=' ')
print()
5. 一对兔子每三个月可以生一个兔子。
计算兔子某个月生的兔子总数
参考程序代码:
a = b = 1
c = 0
n = int(input('请输入第几个月:'))
if n == 1 or n == 2:
print('1')
else:
i = 2
while i < n:
c = a + b
a = b
b = c
i += 1
print(c)
6. 一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?
参考程序代码:
def f(n):
if n == 8:
return 2
else:
sum = f(n+1)*2+2
return sum
print('一共有{}只鸭子'.format(f(1)))
7. 给定一个非空的正整数列表 arr ,
请计算所有可能的奇数长度子列表的和(子列表指原列表中的一个连续子序列)
arr=[1, 4, 2, 5, 3]
参考程序代码:
arr=[1, 4, 2, 5, 3]
res_sum, arr_len = 0, len(arr)
for small_arr_len in range(1, arr_len + 1, 2):
for i in range(arr_len):
if i + small_arr_len <= arr_len:
for j in range(i, i + small_arr_len):
res_sum += arr[j]
print (res_sum)