第1章 Python程序设计概述
单元测验1
1、下列选项中,不属于Python语言特点的是
A、面向对象
B、运行效率高
C、可读性好
D、开源
2、以下叙述正确的是
A、Python3.x和Python2.x兼容
B、Python语言只能以程序方式执行
C、Python是解释性语言
D、Python语言出现的晚,具有其他高级语言的一切优点
3、下列关于Python的说法中,错误的是
A、Python是从ABC语言发展起来的
B、Python是一门高级的计算机语言
C、Python是一门只面向对象的语言
D、Python是一种代表简单主义思想的语言
4、python程序文件的扩展名是
A、.python
B、.py
C、.pt
D、.pyt
5、Python语言属于
A、机器语言
B、汇编语言
C、高级语言
D、科学计算语言
6、Python这个单词是什么含义?
A、喵星人
B、蟒蛇
C、石头
D、袋鼠
7、Python语言采用严格的“缩进”来表明程序的格式框架。下列说法不正确的是:
A、缩进指每一行代码开始前的空白区域,用来表示代码之间的包含和层次关系。
B、代码编写中,缩进可以用Tab键实现,也可以用多个空格实现,但两者不混用。
C、“缩进”有利于程序代码的可读性,并不影响程序结构。
D、不需要缩进的代码顶行编写,不留空白。
8、下列选项中,不属于Python语言特点的是
A、面向对象
B、运行效率高
C、可读性好
D、开源
9、在Python集成开发环境中,可使用()快捷键运行程序。
A、Ctrl+S
B、F5
C、Ctrl+N
D、F1
10、Python是一种跨平台、开源、免费的高级动态编程语言。
11、在windows平台上编写的Python程序无法在Unix平台运行。
12、Python既支持面向对象编程,也支持面向过程编程模式。
第2章 数据类型、运算符和表达式
单元测试2
1、表达式16/4-2**5*8/4%5/2的值为
A、14
B、4
C、2.0
D、2
2、计算表达式 1234%1000//100 的值为
A、1
B、2
C、3
D、4
3、下列表达式的值为True的是
A、2!=5 or 0
B、3>2>2
C、1 and 5==0
D、1 or True
4、与关系表达式x==0等价的表达式是
A、x=0
B、not x
C、x
D、x!=1
5、Python表达式中,可以控制运算优先顺序的是
A、圆括号()
B、方括号[]
C、大括号{}
D、尖括号<>
6、关于Python中的复数,下列说法错误的是
A、表示复数的语法是real+imagej
B、实部和虚部都是浮点数
C、虚部必须后缀j,且必须是小写
D、complex(x)会返回以x为实部,虚部为0的复数
7、下面哪个不是Python合法的标识符
A、int32
B、40XL
C、self
D、_name_
8、下列哪个语句在Python中是非法的?
A、x=y=z=1
B、x=(y=z+1)
C、x,y=y,x
D、x+=y
9、已知x=2,语句x*=x+1执行后,x的值是
A、2
B、3
C、4
D、6
10、下列表达式中,值不是1的是
A、4//3
B、15%2
C、1 and True
D、1 or True
11、Python 语句x=’car’; y = 2; print (x+y)的输出结果是
A、2
B、”car2’
C、”carcar’
D、语法错
12、Python 表达式math.sqrt(4)*math.sqrt(9)的值为
A、6.0
B、36.0
C、13.0
D、6
13、一个变量只能存储一个字符
14、程序中的变量代表内存中的一个存储单元,它的值不可以随时修改
15、python中,一个字符型数据与整型数据可以互相赋值。
16、语句标号用标识符表示,它的定名规则与变量名相同,即由字母、数字和下划线组成,其第一个字符必须为字母或下划线
17、逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符
18、关系表达式的值是一个逻辑值,它的值为“真”或“假”。逻辑表达式的值也是一个逻辑量,它的值也为“真”或“假”
19、python中认为名为Student和student的变量是不同变量
20、用户所定义的标识符允许使用关键字
21、已知x = 3,那么赋值语句x = “abcedfg”是无法正常执行的
22、python变量使用前必须先声明,并且一旦声明就不能在当前作用域内改变其类型了
23、在python中可以使用if作为变量名
24、加法运算符可以用来连接字符串并生生成新的字符串
25、3+4j不是合法的python表达式
26、4j是合法python数字类型
27、一个数字5也是合法的python表达式
第3章 输入与输出
在线练习3
1、Python语句print(0xA+0xB)的运行结果是:
A、0xA+0xB
B、A+B
C、0xA0xB
D、21
2、为了给整型变量a、b、c赋初值10,下面正确的python语句是:
A、xyz=10
B、x=10 y=10 z=10
C、x=y=z=10
D、x=10,y=10,z=10
3、已知字符”A”的ASCII值是65,字符变量c1的值是”A”,c2的值是”D”,执行语句print(“%d,%d”%(c1,ord(c2)-2))后,输出结果是:
A、A,B
B、A,66
C、65,66
D、65,B
4、语句x=input()执行时,如果从键盘输入12并按回车键,则x的值是:
A、12
B、12.0
C、”12″
D、(12)
5、Python 3.x语句 print(1, 2, 3, sep=”:”) 的输出结果是:
A、1 2 3
B、123
C、1:2:3
D、1,2,3
6、在Python 3.x中,使用内置函数input()接收用户输入时,不论用户输入的什么格式,一律按字符串进行返回
7、Python运算符%不仅可以用来求余数,还可以用来格式化字符串。
8、为了输出”,可以使用如下语句print(“””)。
9、Python变量名区分大小写,所以student和Student不是同一个变量。
10、字符串”Hello Python”中” “表示换行。
编程题目3
1、输入一矩形的长和宽,计算并输出矩形的面积。
2、输入三个整数,求这三个数的和以及平均值,并在屏幕上输出。
3、输入一个三位整数x(999=>x>=100),将其分解出百位、十位、个位,并求出各位之和以及各位之积
4、已知三角形的三边 a、b、c,,求其面积S。(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p是半周长:p=(a+b+c)/2
5、从键盘上输入一个大写字母,将该大写字母转换成小写字母并输出。
第4章 选择结构程序设计
在线练习4
1、执行下列Python语句将产生的结果是( )。 x=2 y=2.0 if(x==y): print(“Equal”) else: print(“No Equal”)
A、Equal
B、Not Equal
C、编译错误
D、运行时错误
2、下列程序运行结果是 a=3 b=5 if a>b: a,b=b,a print (“从小到大输出:”) print(a,b)
A、3 5
B、从小到大输出: 3 5
C、从小到大输出: 3,5
D、从小到大输出:3,5
3、if else是
A、判断结构
B、选择结构
C、分支结构
D、循环结构
4、python语言对嵌套if语句的规定是:else总是与
A、其之前最近的if配对
B、第一个if配对
C、缩进位置相同的if配对
D、其之前最近且尚未配对的if配对
5、当你输入95时,下列程序运行的结果是 results = int(input(“成绩为:”)) if 100>=results>=90: print(“A”) elif 90>results>=75: print(“B”) elif 0<=results<75: print(“C”) else: print(“输入错误!”)
A、A
B、B
C、C
D、输入错误!
6、如下代码可以实现当输入6的时候输出x>5,输入4的时候输出 3<=5,输入1的时候输出x<=3
7、如下两段代码功能一样,程序结构也一样 第一段: if a < 0: print(“<0”) if a == 0: print(“=0”) if a > 0: print(“a>0”) 第二段: if a < 0: print(“<0”) elif a == 0: print(“=0”) elif a > 0: print(“a>0”)
编程题目4
1、求一元二次方程的解
2、求x到y之间(包含x,y)所有的素数
3、求最大值
4、字符串统计
5、整数排序
第5章 循环结构程序设计
在线练习5
1、执行range(2,10,2)后运行结果是:
A、[2,4,6,8]
B、[2,4,6,8,10]
C、(2,4,6,8)
D、(2,4,6,8,10)
2、选出对下列语句不符合语法要求的表达式: for var in _________ : print(var)
A、range(0,10)
B、”Hello”
C、(1,2,3)
D、{1,2,3,4,5}
3、若k为整形, 下述while循环执行的次数为 k=1000 while k>1: print(k) k = k/2
A、9
B、10
C、11
D、1000
4、下列for循环执行后,输出结果的最后一行是 for i in range(1,3): for j in range(2,5): print(i*j)
A、2
B、6
C、8
D、15
5、下列程序的结果是 sum=0 for i in range(100): if(i%10): continue sum=sum+i print(sum)
A、5050
B、4950
C、450
D、45
6、下面程序中语句print(i*j)共执行了_次。 for i in range(5): for j in range(2,5): print(i*j)
A、12
B、14
C、15
D、20
7、下面哪个语句不能完成1到10的累加功能, total初值为0。
A、for i in range(10,0):total+=i
B、for i in range(1,11):total+=i
C、for i in range(10,0,-1):total+=i
D、for i in (10,9,8,7,6,5,4,3,2,1):total+=i
8、for i in range(10): …… 中 ,i的循环终值是
A、9
B、10
C、11
D、12
9、下面代码的输出结果是 for i in range(3): print(5,end=”,”)
A、5,5,5
B、5,5,5,
C、5 5 5,
D、5 5 5
10、continue语句用于
A、退出循环程序
B、结束本次循环
C、空操作
D、引发异常处理
11、如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的。
12、带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码。
13、for n in range(2,8,2): print(n,end=” “) 这段程序输出结果是:2 4 6
14、强制退出当前所在循环结构的关键字是continue。
15、语句while (!y):中的!y等价于y!=0。
16、continue用来跳出最内层for或while循环,退出该循环后程序从循环代码后继续执行; break用来结束当前当次循环。
17、在Python语言里,循环结构必须有else子句。
编程题目5
1、求S的和。
2、图形打印。
3、追查车号。
第6章 序列
在线练习6
1、已知x=[1,2,3],执行语句x.append(5)之后,x的值是什么
A、[1,2,3,5]
B、[1,2,3]
C、[5]
D、5
2、list(“abcd”)的结果是
A、”abcd”
B、[“a”, “b”, “c”, “d”]
C、[“abcd”]
D、”a”, “b”, “c”, “d”
3、已知list1 = [1, 2, 3, 4, 5, 4, 3, 2, 1],list1[:-1]的值是
A、[1, 2, 3, 4, 5, 4, 3, 2, 1]
B、[0, 1, 2, 3, 4, 3, 2, 1, 0]
C、[1, 2, 3, 4, 5, 4, 3, 2]
D、[1]
4、已知x=[8,7,6,5,4,3,2,1],那么x.pop(2)的结果是
A、2
B、3
C、6
D、7
5、能将5加到列表list1的末尾的语句是
A、list1.add(5)
B、list1.insert(5)
C、list1.extend(5)
D、list1.append(5)
6、假设: ls=[1,2,3,4,5] lt=ls ls[4]=1 print(lt[4]) 输出结果是:
A、1
B、3
C、4
D、5
7、字符串函数strip()的作用是
A、连接两个字符串序列
B、替换字符串中特定字符
C、按照指定字符分割字符串为数组
D、去掉字符串两侧空格或指定字符
8、#003200390035003700391575193417527获得字符串s长度的方法是什么
A、s.len()
B、s.length()
C、len(s)
D、length(s)
9、字符串是一个字符序列,对字符串s,从右侧向左第3个字符使用哪种方式索引
A、s[3]
B、s[-3:]
C、s[0:-3]
D、s[-3]
10、x=(4, 5, 6),执行如下代码会有什么结果? x[1] = 1 print(x)
A、(4,1,6)
B、(1,5,6)
C、(4,1,5,6)
D、出错
11、对于字典d={“abc”:1,”qwe”:3,”zxc”:2} ,len(d)的结果是( )。
A、3
B、6
C、12
D、1
12、以下关于字典的说法错误的是( )。
A、字典中元素以键信息为索引访问。
B、字典中,一个键信息只对应一个值信息。
C、字典可以对键信息赋值。
D、字典的长度是不可变的。
13、以下关于列表的描述错误的是( )。
A、元素类型可以不同
B、必须按顺序插入元素
C、长度没有限制
D、支持in运算符
14、Python列表、元组、字符串都属于有序序列。
15、元组tuple是属于可变对象。
16、已知x是一个列表,那么x = x[3:] + x[:3]可以实现把列表x中的所有元素循环左移3位。
17、元组是不可变的,不支持列表对象的inset()、remove()等方法,也不支持del命令删除其中的元素,但可以使用del命令删除整个元组对象。
18、语句a = 1,2,3有语法错误。
19、已知x是个列表对象,那么执行语句y = x之后,对y所做的任何操作都会同样作用到x上。
20、使用Python列表的方法insert()为列表插入元素时不会改变列表中插入位置之后元素的索引。
21、tuple(x):可以用于生成元组,输入的参数可以是任何组合数据类型。
22、字符串对象和元组对象是不可变对象,列表对象为可变对象。
23、已知st=”Hello World!”,使用print(st[0:-1])语句可以输出字符串变量st中的所有内容。
24、字符串”Hello Python”中” “表示换行。
编程题目6
1、列表去重
2、删除指定字符
3、列表排序
4、杨辉三角
第7章 字典和集合
在线练习7
1、以下哪个方式可以创建一个空的集合?
A、set()
B、{}
C、[]
D、()
2、以下哪一句会得到{“1″,”2″,”3”}?
A、list(“123”)
B、tuple(“123”)
C、set(“123”)
D、dict(“123”)
3、对于两个集合s1和s2,s1 < s2的指
A、s1的大小小于s2的大小
B、s1的元素比s2的小
C、s1是s2的真子集
D、s2是s1的真子集
4、对于集合s,以下哪个操作是不存在的?
A、len(s)
B、s.append(1)
C、max(s)
D、s – {1}
5、对于正确的表达式a[2],a不可能是以下哪个类型?
A、列表
B、元组
C、字典
D、集合
6、元组可以作为字典的“键”。
7、Python字典中的“值”不允许重复。
8、Python支持使用字典的“键”作为下标来访问字典中的值。
9、在字典里,同一个键可以对应两个或多个值。
10、如果a是一个列表,则语句a=list(set(a))可以删除a中的重复元素。
11、表达式 {1, 3, 2} > {1, 2, 3} 的值为True。
12、Python集合中的元素不允许重复。
13、a={},type(a)结果是 。
14、set(x):可以用于生成集合,输入的参数可以是任何组合数据类型,返回结果是一个无重复且有序的集合。
15、Python集合中的元素可以是元组。
16、Python字典和集合支持双向索引。
17、Python字典和集合属于无序序列。
编程题目7
1、统计并输出字符串中小写元音字母的个数
2、能被7、9和11整除的数的个数(用集合实现)
第8章 函数
在线练习8
1、对于函数定义代码的理解,正确的是
A、必须存在形参
B、必须存在return语句
C、形参和return语句都是可有可无的
D、形参和return语句要么都存在,要么都不存在
2、在一个函数中如局部变量和全局变量同名,则
A、局部变量屏蔽全局变量
B、全局变量屏蔽局部变量
C、全局变量和局部变量都不可用
D、程序错误
3、下面程序段的输出为 def f1(a,b,c): print(a+b) nums=(1,2,3) f1(nums)
A、1
B、3
C、6
D、语法错
4、以下哪个函数定义正确:
A、def func1(): return 1
B、def func1() return 1
C、def func1(): x = 5 y = 6 return x+y
D、def func1(): pass
5、print(type(lambda:3))的输出结果是
A、 B、 C、 D、 6、下面程序段的输出为 a=1 def fun(a): a=a+2 print(a) fun(a) print(a)
A、3 1
B、4 1
C、1 1
D、3 3
7、下面关于函数的说法,正确的是
A、函数可以不定义,就可以直接使用
B、函数是程序的抽象,通过封装实现代码复用,可以利用函数对程序进行模块化设计
C、函数定义的位置没有要求,可以先调用,最后对函数定义
D、函数不可以对自己调用,只能调用别的函数
8、如果函数定义为def hello(username): ,则对该函数的调用不合法的是
A、hello (“Alice”)
B、hello (“Alice”)
C、hello ()
D、hello (username=” Alice”)
9、以下关于Python内置函数的描述,错误的是
A、sorted() 对一个序列类型数据进行排序,将排序后的结果写回到该变量中
B、id() 返回一个变量的一个编号,是其在内存中的地址
C、max()返回一个序列类型数据中最大值
D、type() 返回一个对象的类型
10、在Python中导入其他函数库的关键字是
A、include
B、from
C、import
D、into
11、以下哪个程序段是使用递归函数实现1到100求和
A、def product1(num): product=1 for i in range(1,num+1): product=product *i return product print(product1(10))
B、def sum1(num): sum2=0 for i in range(1,num+1): sum2+=i return sum2 print(sum1(100))
C、def product2(num): if num==1: return 1 else: return num *product2(num-1) print(product2(10))
D、def sum_a(num1): if num1==1: return 1 else: return num1+sum_a(num1-1) print(sum_a(100))
12、在函数中使用return语句可以返回值,所以函数中的return语句后一定要有值。
13、定义函数时,即使该函数不需要接收任何参数,也必须保留一对空的圆括号来表示这是一个函数。
14、定义Python函数时必须指定函数返回值类型。
15、定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数。
16、在调用函数时,可以通过关键参数的形式进行传值,从而避免必须记住函数形参顺序的麻烦。
在线作业
1、实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+…+n! 的值。
2、求鞍点
结业考试
1、下面哪个不是Python合法的变量名( )
A、my
B、__name__
C、10XL
D、x32
2、下面的循环体执行的次数与其它不同的是:( )
A、for i in range(100): print(i)
B、for i in range(100,0,-1): print(i)
C、i=0 while(i<=100): print(i) i=i+1
D、i = 100 while(i>0): print(i) i=i-1
3、使用Python语言编写的源程序保存时的文件扩展名是( )。
A、.java
B、.txt
C、.py
D、.class
4、已知x=2,语句x*=x+1执行后,x的值是( ).
A、6
B、2
C、3
D、9
5、下列哪个语句在Python中是非法的?
A、x=y=z=1
B、x=(y=z+1)
C、x,y=y,x
D、x+=y
6、Python 3.x中,语句x=input()执行时,如果从键盘输入12并按回车键,则x的值是:( )
A、12
B、12.0
C、(12)
D、”12″
7、下列程序运行结果是: a=3 b=5 if a>b: a,b=b,a print (“从小到大输出:”) print (a,b)
A、3,5
B、3 5
C、5,3
D、5 3
8、若k为整形, 下述while循环执行的次数为:( ) k=1000 while k>1: print(k) k = k/2
A、10
B、9
C、11
D、1000
9、下列程序的结果是:( ) sum=0 for i in range(100): if(i%10): continue sum=sum+i print(sum)
A、45
B、5050
C、450
D、4950
10、以下关于元组的描述正确的是( )
A、创建元组tup:tup = ()
B、创建元组tup:tup = (50)
C、元组中的元素允许被修改
D、元组中的元素允许被删除
11、下列程序运行结果是:( ) a=[1,2,1,2,3,3,3,3] result=0 for i in a: result+=i print (result)
A、16
B、15
C、17
D、18
12、已知列表x = list(range(5)),那么执行语句x.remove(3)之后,表达式x.index(4)的值为:( )
A、4
B、3
C、1
D、2
13、以下不能创建一个字典的语句是( )
A、dict4 = dict(([1,2],[3,4]))
B、dict1 = {}
C、dict4 = {3:5}
D、dict3 = dict([2,5],[3,4])
14、以下叙述正确的是:( )
A、Python3.x和Python2.x兼容
B、Python是解释性语言
C、Python语言只能以程序方式执行
D、Python语言出现的晚,具有其他高级语言的一切优点
15、为了给整型变量x、y、z赋初值10,下面正确的python语句是:( )
A、x=10 y=10 z=10
B、x=10,y=10,z=10
C、xyz=10
D、x=y=z=10
16、python语言对嵌套if语句的规定是:else总是与()
A、缩进位置相同的if配对
B、其之前最近的if配对
C、其之前最近且尚未配对的if配对
D、第一个if配对
17、下列for循环执行后,输出结果的最后一行是: for i in range(1,3): for j in range(2,5): print(i*j)
A、6
B、2
C、8
D、15
18、Python是一种跨平台、开源、免费的高级动态编程语言。
19、逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符
20、在python中可以使用if作为变量名.
21、3+4j不是合法的python表达式.
22、已知x = 3,那么赋值语句x = “abcedfg”是无法正常执行的.
23、程序中的变量代表内存中的一个存储单元,它的值不可以随时修改.
24、如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的。
25、for n in range(2,8,2): print(n,end=” “) 这段程序输出结果是:2 4 6