作业1,2
1.Python程序是区分大小写的。
2.解释程序对高级语言编写的程序是一边翻译,一边执行的。下次执行同样的程序时,还必须重新翻译。
3.Python是一种用途广泛、解释型、面向对象的程序设计语言。
4.程序设计语言包括机器语言、汇编语言和高级语言。
5.算法是解决某个问题所需要的方法和步骤。
6.下面程序的输出结果是______57.47__。
print(format(57.467657,".2f"))
7.Python解释器的提示符是______>>>__。
8.Python内置的集成开发环境是____IDLE____。
9.一个字节等于______8__位
10.Python 3.4及后续版本中,默认的安装和管理Python包(库)的工具是______pip__。
11.基于冯 · 诺依曼思想而设计的计算机硬件由______控制器__、运算器、存储器、输入设备和输出设备5个基本组成部分构成。
12.在Python中,字符串、列表、元组和字典都属于序列类型。 错
13.Python不允许使用关键字(保留字)作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。
14.Python的标识符必须以字母或下画线开头,不能以数字开头。
15.print(int(‘101’, 2)) 将二进制数101转化为十进制数
16.下列表达式的值是________。
在python中幂运算是从右往左计算的
3**2**3 #6561
17.print(bin(10))的输出结果是(进制用小写字母表示)0b1010
a = 12# 默认数字都是十进制
print(a)# 12
b = 0b0101010111#以0b开头的是二进制数,默认也是十进制输出
print(b)# 343
c = 0o33# 以0o开头的是八进制数
print(c)# 27
d = 0x24# 以0x开头的是十六进制数
print(d)# 36
18.下面程序的输出结果是______0.339%__ 。
print(format(0.0033911, "6.3%"))
ord()函数主要用来返回对应字符的ascii码;
chr()主要用来表示ascii码对应的字符,可以用十进制,也可以用十六进制。
20.下列( B )语句是错误的。(2分)
A. x = y = z = 1
B. x = (y = z + 1)
C. x, y = y, x
D. x += y
21:x的值为345.3546
format(x, "10.3f") #bbb345.355
22.首先,python字符串不是通过NUL(即’\0’)来结束的。 在python中,你完全不需要为是否已经添加终止符而担心,其字符串值只包含所定义的内容。 在c或者c++中,字符串以’\0’结尾是C/C++标准规定的
23.将x的值格式化为小数点后3位小数,使用( A )。
(2分)
A. format(x, “5.3f”)
B. format(“5.3f”, x)
C. format(x, “5.3%”)
D. format(“3d”, x)
作业3 分支
24.python中的运算符:
表达式中包含一个运算符:
or 从左到右,返回第一个为真的值,都为假返回后一个值
and 从左到右,若所有值均为真,则返回后一个值,有一个假的值,则返回第一个假的值
包含两个及以上的逻辑运算符
逻辑运算符 and / or 一旦不止一个,其运算规则的核心思想就是短路逻辑。好的,那我们就来了解一下短路思想:
表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。
表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。
若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。
对于and:
只要左边的表达式为真,那么整个表达式返回的是右边表达式的值,否则返回的是左边表达式的值
换言之,x and y 的值只能是x 和 y,x为真时就是y,x为假就是x
对于or:
只要两边的表达式都为真,整个表达式的结果返回的是左边表达式的值;
如果一真一假,返回真值表达式的值;
如果两个值都假,比如空值和0,返回的是右边的值(空值或0)
换言之,x or y 的值只可能是 x 和 y,x为真就是x,x为假就是y
对于not x:
x为假,输出True
x为真,输出False
25.要想得到[0,100]范围内的随机数,random.randint(0, n)里的n应该是___100_____。
26.random.random()的返回值是( B )。
A. 一个浮点数i,0 < i < 1.0
B. 一个浮点数i,0 <= i < 1.0
C. 一个浮点数i,0 <= i <= 1.0
D. 一个浮点数i,0 < i < 2.0
27.以下运算符右结合的是(E )。
A. *
B. **
C. %
D. and
E. =
28.对于以下程序:
even = False
if even = True:
print("It is even!")
( B )是正确的
A. 在行1(even = False),程序有语法错误
B. 在行2,程序有语法错误,if even = True:不是一个正确的条件,它应该替换成if even == True:或if even:
C. 程序正常运行,但不显示任何信息
D. 程序正常运行,显示It is even!
作业4 循环
29.对于带有else子句的for语句和while语句,当循环因循环条件不成立而自然结束时,会执行else子句中的代码。
30.range的参数必须是整数
作业5 函数
31.下面程序的输出结果是________(注:不要有任何多余的空格)。
a = 10
def fun():
global a
a = 20
print(a, end = ' ')
fun()
print(a)
20 20
32.下面程序的输出结果是________(注:不要有任何多余的空格)。
import functools
lst = ["Welcome ", "to ", "Python", ", ", "Programming ", "is ", "fun", "."]
print(functools.reduce(lambda x, y : x + y, lst))
Welcome to Python, Programming is fun.
33.有关函数的说法,( c )是错误的。
A. 函数是对一段代码的命名
B. 函数是代码功能的一种抽象
C. 函数是计算机对代码执行优化的要求
D. 函数是代码逻辑的封装
作业6 海归图
34.turtle.circle(radius, extent=None)
radius :弧形半径
当radius值为正数时,圆心在当前位置/小海龟左侧。
当radius值为负数时,圆心在当前位置/小海龟右侧。
extent :弧形角度。当无该参数或参数为None时,绘制整个圆形
当extent值为正数时,顺小海龟当前方向绘制。
当extent值为负数时,逆小海龟当前方向绘制。
35.在turtle中,画布绘图坐标系的绝对0度方向默认指向画布正右方。
36.clear() 方法
用于从屏幕中删除指定海龟的绘图,但不移动海龟。海龟的状态和位置以及其他海龟的绘图不受影响。
所以在turtle中,clear方法用于清除画布,并将海龟状态和位置重置为起始默认值。是错误的
37.在turtle中,setheading(to_angle)或seth(to_angle)方法,将海龟的方向设置为to_angle,to_angle为角度。
38.turtle.dot(100, “red”)绘制了一个半径为100像素的红色实心点。(错,直径)
作业7 字符串 作业8 列表和元组
1.len(“HZNU”)返回的结果是4,len(“杭州师大”)返回的结果也是4。
2.假设s1=“Python”,s2=“Python”,则表达式s1 is s2的值为True。
3.Python count() 方法用于统计字符串里某个字符或子字符串出现的次数。可选参数为在字符串搜索的开始与结束位置。
str.count(sub, start= 0,end=len(string))
replace方法:
str.replace(old, new[, max])
4.find和index find函数没找到会返回-1,index没找到会返回报错
5.find() 返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。
str.rfind(str, beg=0 end=len(string))
6.center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
str.center(width[, fillchar])
7.“Programming is fun”[1:1]的计算结果是( D )。
(2分)
A. Pr
B. r
C. Pr
D. ‘’
E. 非法的表达式
8.字符串切片操作
[m:n]:不包括n
9.只能通过切片访问列表中的元素,不能使用切片修改列表中的元素。(错)
10.列表不可以用find()方法来搜索数据是否在列表中。
11.将列表中的元素顺序打乱的shuffle()方法是random模块中的方法。
12.extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
13.下列程序的输出结果为( D )。
def f(value,values):
value = 1
values[0] = 44
t = 3
v = [1, 2, 3]
f(t, v)
print(t, v[0])
(2分)
A. 1 1
B. 1 44
C. 3 1
D. 3 44
14.pop() 参数是要删除的索引值
15.假设list1 = [11, 2, 23]、list2 = [2, 11, 23],list1 == list2的计算结果是( False )。
16.将list1的所有元素随机排列,使用( C )。(2分)
A. list1.shuffle()
B. shuffleList(list1)
C. random.shuffle(list1)
D. random.shuffleList(list1)
作业9 字典
1.字典中不存在顺序关系
2.字典中的键不可以对应多个值
3.字典中的键不允许重复。
4.执行语句d ={[1, 2]:3, [3, 4]:7},创建了字典d。(错误,列表不可哈希)
所以字典的键不能是列表
dict.get(键)
dict.get(key[, value]) #如果字典中要找的值不存在,就返回value
6.使用字典对象的______values__方法(注意:不要有任何多余的空格)获取字典的所有值。
7.下面程序的输出结果为___9_____。
x = {1: 2, 3: 4, 5: 6}
print(sum(x))
8.下列会返回错误的语句是( A )。
A. d = dict([0, 1], [2, 3])
B. d = {}
C. d = dict(([0, 1], [2, 3]))
D. d = {0:1}
9.假设d1 = {“john”:40, “peter”:45}、d2 = {“john”:466, “peter”:45},d1 > d2 的计算结果是( C )。
A. True
B. False
C. 非法的表达式
10.假设d = {“john”:40, “peter”:45},使用的d.get(“susan”)获取一个值时将发生( B )。
A. 因为"susan"不是字典中的一个值,抛出KeyError异常
B. 正常执行,没有异常发生,返回None
C. 因为"susan"不是字典中的一个键,抛出KeyError异常
D. 因为"susan"不是字典中的一个键,抛出语法错误
11.假设d = {“john”:40, “peter”:45},删除"john":40,使用( B )。
A. d.delete(“john”:40)
B. d.delete(“john”)
C. del d[“john”]
D. del d(“john”:40)
作业10 集合
1.集合中的元素可以是元组,不能是字典
2.假设set1= {1, 2, 3},set2={1, 2, 3},则表达式set1 is set2的值为True。(错误)
3.下面程序的输出结果为________(注意:不要有任何多余的空格)。
print({1, 2, 3, 4, 5} ^ {4, 5, 6, 7})
{1, 2, 3, 6, 7}
- set.difference 返回两个结果的差集
作业11 对象和类
1.自定义类时,实例方法的第一个参数名称不管是什么,都表示对象自身。
2.通过对象不能调用类方法和静态方法。(错误)
3.属性可以像数据域一样进行访问,但赋值时具有方法的优点,可以对新值进行检查。
4.自定义类时,实例方法的第一个参数名称必须是self。(错误)
5.下面程序的输出结果为______0 1__ (注意:不要有任何多余的空格)。
class A:
def __init__(self, count = 0):
self.count = count
def modify(a, n):
a = A(8)
n = 5
def main():
a = A()
n = 1
modify(a, n)
print(a.count, n)
main()
6.结构化程序的基本构造单位是函数,而面向对象程序的基本构造单位是类
7.在Python中,自定义类时,与运算符"**"对应的特殊方法(魔法方法)名为_____pow__()_____
8.目前主要有结构化程序设计和面向对象程序设计这两种重要的程序设计方法。
9.对于Circle类,若定义对象:x = Circle();
下列( C )说法是最准确的。
A. x包含一个整数值
B. x包含一个Circle类型的对象
C. x包含一个指向Circle对象的引用
D. 可以给x赋一个整数值
作业12 继承和多态
1.创建子类对象时,会自动调用其父类中定义的__init__方法。(错误)
2.python是一种多态语言,崇尚鸭子类型。在鸭子类型中,并不关心对象是什么类型,只关心对象的行为。
3.mro表示类继承的顺序。
4.所有类都派生自object类。
5.子类是父类的子集。(错误)
6.如果定义一个类时没有指定继承哪个类,则默认继承object类。
7.在子类中可以通过“父类名.方法名”的方式显式调用父类中的方法。
8.在子类中可以覆盖其父类中定义的私有方法。(错误)
9.子类(派生类)和父类(基类)之间必须存在is-a关系。
10.面向对象程序设计的三大特性是封装、继承和多态
11.为了覆盖父类(基类)中的方法,子类(派生类)中的方法必须与父类(基类)中的方法具有相同的___方法头
12.一个子类(派生类)只有一个直接父类(基类)的情况称为单继承
13.Python使用mro表标记继承层次中查找父类的顺序。
14.一个子类可以有多个父类,一个父类也可以有多个子类
15.下列程序的输出结果为( 1 20 )。
私有属性不能修改
class ParentClass:
def __init__(self):
self.__x = 1
self.y = 10
def print(self):
print(self.__x, self.y)
class ChildClass(ParentClass):
def __init__(self):
super().__init__()
self.__x = 2
self.y = 20
c = ChildClass()
c.print()
16.子类不是父类的一个子集
17.下列程序的输出结果为( A )。
没有重写print方法,所以调用的还是person类中的
class Person:
def __get_info(self):
return "Person's get_info is called"
def print_person(self):
print(self.__get_info(), end = ' ')
class Student(Person):
def __get_info(self):
return "Student's get_info is called"
def main():
Person().print_person()
Student().print_person()
main()
A. 先输出Person’s get_info is called,接着输出Person’s get_info is called
B. 先输出Student’s get_info is called,接着输出Person’s get_info is called
C. 先输出Student’s get_info is called,接着输出Student’s get_info is called
D. 先输出Person’s get_info is called,接着输出Student’s get_info is called
18.对于如下程序:
class A:
def __init__(self, i = 0):
self.i = i
class B(A):
def __init__(self, j = 0):
self.j = j
def main():
b = B()
print(b.i)
print(b.j)
main()
( A )是正确的。
A. 类B是类A的子类,但类A的数据域i未被类B继承
B. 类B是类A的子类,自动继承了类A的所有数据域
C. 当创建一个类B的对象时,必须传递一个整数,例如B(5)
D. 对象b不能访问数据域j
作业13 异常
1.假设下面try-except块中的statement2语句出现一个异常:
try:
statement1
statement2
statement3
except Exception1:
# Handle exception 1
except Exception2:
# Handle exception 2
statement4
statement3会被执行吗?否 (注意:只能填写"是"或"否")。
作业14 文件
1.内存文件不是存放在外存上的真正文件,而是存放在内存中的虚拟文件。
2.以写模式打开的文件无法进行读操作。
3.CSV文件是纯文本文件。
4.打开文件的含义是指将文件对象与外存上的文件建立联系。成功打开文件后,对该文件的操作都将通过文件对象来完成。
5.决数据永久性保存的有效方式是使用 文件
6.对文件进行写入操作之后,__flush__方法用来在不关闭文件对象的情况下强制将缓冲区内容写入文件。
7.可以使用load方法进行二进制读操作。
作业15 16 17 综合联系
1.继承是指类之间共享属性和操作的机制
2.软件测试的主要目的是发现程序中的错误
3.Python变量命名规则(超级详细)
标识符可以由字母、数字、下画线(_)组成,其中数字不能打头。
标识符不能是 Python 关键字,但可以包含关键字。
标识符不能包含空格。
4.下列关于 Python 组合数据类型的描述,错误的是(B )。
A. 组合数据类型可以分为3类:序列类型、集合类型和映射类型
B. 序列类型是二维元素向量,元素之间存在先后关系,通过序号访问
C. Python的str、tuple和list类型都属于序列类型
D. Python组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易
5.如果当前时间是2018年5月1日10点10分9秒,下面程序的输出结果是( A )。
from datetime import datetime
dt = datetime(2018, 5, 1, 10, 10, 9)
print(dt.strftime("%Y=%m-%d@%H>%M>%S"))
A. 2018=05-01@10>10>09
6.下列关于Python的全局变量和局部变量的描述,错误的是( )。
A. 局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用
B. 使用global保留字声明简单数据类型变量后,该变量作为全局变量使用
C. 简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放
D. 全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效
7.下列关于Python的lambda函数的描述,错误的是( B )。(2分)
A. 可以使用lambda函数定义列表的排序原则
B. f = lambda x, y: x + y 执行后,f的类型为数字类型
C. lambda函数将函数名作为函数结果返回
D. lambda用于定义简单的、能够在一行内表示的函数
8.查看Python的版本:
mport sys
print(sys.version)
9.下列关于Python语言的变量的说法,正确的是( )。(2分)
B. 随时命名、随时赋值、随时使用
10.下列选项中,不是Python中用于进行数据分析及可视化处理的第三方库是(C )。(2分)
A. pandas
B. Mayavi2
C. MXNet
D. numpy
11.下列选项中,不是Python中用于进行Web开发的第三方库是(B)
A. Django
B. scrapy
C. Pyramid
D. Flask