


Python题库(含答案)一、选择题以下关于程序控制结构的描述,错误的是__A____A. Python 里,能用分支结构写出循环的算法B. 二分支结构组合形成多分支结构C. 程序由三种基本结构组成D. 分支结构包括单分支结构和二分支结构以下关于程序设计语言的描述,错误的选项是__C____A. Python语言是一种脚本编程语言B. 汇编语言是直接操作计算机硬件的编程语言C. 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段D. 编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序依次执行ls1 = [1,2,3,4,5]、ls2 = ls1、ls3 = ls1.copy()后,下列说法不正确的是__A____A. id(ls3)与id(ls1)相同B. id(ls2)与id(ls1)相同C. id(ls2)与id(ls3)不同D. id(ls1)与id(ls3)不同关于结构化程序设计方法原则的描述,以下选项中错误的是__B____A. 自顶向下B. 多态继承C. 逐步求精D. 模块化说明:有两种设计方法第一种:面向过程,也叫结构化设计方法,特征是:自顶向下、逐步求精、模块化第二种:面向对象,特征是:继承,封装,多态以下关于字符串st的操作的描述,错误的是___C___。
A. st.replace(x,y)方法把字符串st中所有的x子串都替换成yB. 想把一个字符串st所有的字符都大写,用st.upper()C. 想获取字符串st的长度,用字符串处理函数 st.len()D. 设 st = 'aa' ,则执行st*3的结果是'aaaaaa'说明:c选项改为len(st)就对了设k的初始值是10,while k: 下循环体内容有k=k-1和print(k)语句,k=10while k: k=k-1 print(k)则下面描述中正确的是___A___A. while循环执行10次B. 循环体语句一次也不执行C. 循环是无限循环D. 循环体语句执行一次以下选项中,不是建立字典的方式是__A____A. d = {[1,2]:1, [3,4]:3}B. d = {(1,2):1, (3,4):3}C. d = {'张三':1, '李四':2}D. d = {1:[1,2], 3:[3,4]}说明:字典的键不能是可变数据类型:列表,集合,字典集合的元素也不能是可变数据类型:列表,集合,字典以下关于列表操作的描述,错误的是___C___A. 通过 append 方法可以向列表添加元素B. 通过 extend 方法可以将另一个列表中的元素逐一添加到列表中C. 通过 add 方法可以向列表添加元素D. 通过 insert(index,object) 方法在指定位置 index 处插入元素 object以下选项,不是Python保留字的选项是___D___。
A. delB. passC. notD. string说明:D修改为str就对了以下关于分支和循环结构的描述,不合适的是__D____A. while 循环如果设计不小心会出现死循环B. 分支结构中的代码块是用冒号来标记的C. python 在分支和循环语句里使用 x<=y<=z 这样的表达式是合法的D. 二分支结构的 <表达式 1> if <条件> else <表达式 2> 形式,适合用来控制程序分支以下关于文件的描述,错误的是___C___A. 二进制文件和文本文件的操作步骤都是“打开-操作-关闭”B. open() 打开文件之后,文件的内容并没有在内存中C. open()只能打开一个已经存在的文件D. 文件读写之后,要调用close()才能确保文件被保存在磁盘中了设变量n=p=0,循环while p!=100 and n<3: 里的循环体有p=int(input())和n+=1语句,则while循环结束的条件是__D____A. p的值不等于100并且n的值小于3B. p的值等于100并且n的值大于等于3C. p的值不等于100或者n的值小于3D. p的值等于100或者n的值大于等于3对于turtle绘图中颜色值的表示,以下选项中错误的是__B____。
A. (190, 190, 190)B. BEBEBEC. #BEBEBED. "grey"下面if语句统计“成绩(mark)优秀的男生以及不及格的男生”的人数,正确的语句为__C____A. if gender=='男' and mark<60 or mark>=90:n+=1B. if gender=='男' and mark<60 and mark>=90:n+=1C. if gender=='男' and (mark<60 or mark>=90):n+=1D. if gcnder=='男' or mark<60 or mark>=90:n+=1以下关于turtle库的描述,正确的是__C____A. 在import turtle之后就可以用circle()语句,来画一个圆圈B. 要用from turtle import turtle来导入所有的库函数C. home() 函数设置当前画笔位置 到原点,朝向东D. seth(x) 是setheading(x)函数的别名,让画笔向前移动x二、判断题1、Python是一种跨平台、开源、免费的高级动态编程语言对)2、Python 3.x完全兼容Python 2.x。
错)8、扩展库os中的方法remove()可以删除带有只读属性的文件错)9、使用内置函数open()且以”w”模式打开的文件,文件指针默认指向文件尾错)12、Python采用的是基于值得自动内存管理方式对)13、在任何时刻相同的值在内存中都只保留一份(错)14、Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义对)16、在Python 3.x中可以使用中文作为变量名对)17、Python变量名必须以字母或下划线开头,并且区分字母大小写对)22、Python 2.x和Python 3.x中input()函数的返回值都是字符串错)23、pip命令也支持扩展名为.whl的文件直接安装Python扩展库对)24、只有Python扩展库才需要导入以后才能使用其中的对象,Python标准库不需要导入即可使用其中的所有对象和方法错)30、调用函数时,在实参前面加一个*表示序列解包对)31、放在一对三引号之间的内容将被认为是注释错)32、Python支持使用字典的“键”作为下标来访问字典中的值对)34、元组可以作为字典的“键”对)35、字典的“键”必须是不可变的。
对)36、尽管可以使用import语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库对)38、在Python 3.5中运算符+不仅可以实现数值的相加、字符串连接,还可以实现列表、元组的合并和集合的并集运算错)40、已知x为非空列表,那么x.sort(reverse=True)和x.reverse()的作用是等价的错)41、生成器推导式比列表推导式具有更高的效率,推荐使用对)42、Python集合中的元素不允许重复对)44、Python字典中的“键”不允许重复对)46、Python集合中的元素可以是元组对)49、Python字典中的“键”可以是元组对)51、Python列表、元组、字符串都属于有序序列对)54、列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素对)55、对于列表而言,在尾部追加元素比在中间位置插入元素速度更快一些,尤其是对于包含大量元素的列表对)57、使用Python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素的索引对)59、使用del命令或者列表对象的remove()方法删除列表中元素时会影响列表中部分元素的索引。
对)60、带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码错)61、对于带有else子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行else子句中的代码对)63、在UTF-8编码中一个汉字需要占用3个字节对)64、在GBK和CP936编码中一个汉字需要2个字节对)65、如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的对)66、使用列表对象的remove()方法可以删除列表中首次出现的指定元素,如果列中不存在要删除的指定元素则抛出异常对)67、元组是不可变的,不支持列表对象的inset()、remove()等方法,也不支持del命令删除其中的元素,但可以使用del命令删除整个元组对象对)68、Python字典和集合属于无序序列对)69、无法删除集合中指定位置的元素,只能删除特定值的元素对)70、元组的访问速度比列表要快一些,如果定义了一系列常量值,并且主要用途仅仅是对其进行遍历而不需要进行任何修改,建议使用元组而不使用列表对)71、当以指定“键”为下标给字典对象赋值时,若该“键”存在则表示修改该“键”对应的“值”,若不存在则表示为字典对象添加一个新的“键-值对”。
对)74、只能通过切片访问列表中的元素,不能使用切片修改列表中的元素错)75、只能通过切片访问元组中的元素,不能使用切片修改元组中的元素对)76、字符串属于Python有序序列,和列表、元组一样都支持双向索引对)77、Python字典和集合支持双向索引错)78、使用print()函数无法将信息写入文件错)79、Python集合不支持使用下标访问其中的元素对)82、已知列表x中包含超过5个以上的元素,那么语句 x = x[:5]+x[5:] 的作用是将列表x中的元素循环左移5位错)83、对于生成器对象x = (3 for i in range(5)),连续两次执行list(x)的结果是一样的错)84、在循环中continue语句的作用是跳出当前循环错)85、在编写多层循环时,为了提高运行效率,应尽量减少内循环中不必要的计算对)87、在Python中,任意长的字符串都遵守驻留机制错)88、Python运算符%不仅可以用来求余数,还可以用来格式化字符串对)89、Python字符串方法replace()对字符串进行原地修改错)90、如果需要连接大量字符串成为一个字符串,那么使用字符串对象的join()方法比运算符+具有更高的效率。
对)91、对于大量列表的连接,extend()方法比运算符+具有更高的效率对)93、列表对象的extend()方法属于原地操作,调用前后列表对象的地址不变对)94、正则表达式模块re的match()方法是从字符串的开始匹配特定模式,而search()方法是在整个字符串中寻找模式,这两个方法如果匹配成功则返回match对象,匹配失败则返回空值None对)95、函数是代码复用的一种方式对)98、一个函数如果带有默认值参数,那么必须所有参数都设置默认值错)100、定义Python函数时,如果函数中没有return语句,则默认返回空值None对)104、不同作用域中的同名变量之间互相不影响,也就是说,在不同的作用域内可以定义同名的变量对)105、全局变量会增加不同函数之间的隐式耦合度,从而降低代码可读性,因此应尽量避免过多使用全局变量对)106、函数内部定义的局部变量当函数调用结束后被自动删除对)107、在函数内部,既可以使用global来声明使用外部全局变量,也可以使用global直接定义全局变量对)109、对于数字n,如果表达式 0 not in [n%d for d in range(2, n)] 的值为True则说明n是素数。
对)111、在函数内部直接修改形参的值并不影响外部实参的值对)113、调用带有默认值参数的函数时,不能为默认值参数传递任何值,必须使用函数定义时设置的默认值错)114、创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如(3,)对)115、在同一个作用域内,局部变量会隐藏同名的全局变量对)116、形参可以看做是函数内部的局部变量,函数运行结束之后形参就不可访问了对)119、Python中一切内容都可以称为对象对)120、栈和队列的都具有先入后出的特点错)121、在一个软件的设计与开发中,所有类名、函数名、变量名都应该遵循统一的风格和规范对)122、定义类时所有实例方法的第一个参数用来表示对象本身,在类的外部通过对象名来调用实例方法时不需要为该参数传值对)123、在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值错)124、Python中没有严格意义上的私有成员对)125、在Python中定义类时,运算符重载是通过重写特殊方法实现的例如,在类中实现了__mul__()方法即可支持该类对象的**运算符对)126、在IDLE交互模式下,一个下划线“_”表示解释器中最后一次显示的内容或最后一次语句正确执行的输出结果。
对)127、对于Python类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来访问对)128、运算符 / 在Python 2.x和Python 3.x中具有相同的功能错)129、运算符“-”可以用于集合的差集运算对)130、如果定义类时没有编写析构函数,Python将提供一个默认的析构函数进行必要的资源清理工作对)132、在派生类中可以通过“基类名.方法名()”的方式来调用基类中的方法对)133、Python支持多继承,如果父类中有相同的方法名,而在子类中调用时没有指定父类名,则Python解释器将从左向右按顺序进行搜索对)134、对文件进行读写操作之后必须显式关闭文件以确保所有内容都得到保存对)135、Python标准库os中的方法startfile()可以启动任何已关联应用程序的文件,并自动调用关联的程序对)138、Python标准库threading中的Lock、RLock、Condition、Event、Semaphore对象都可以用来实现线程同步对)139、异常处理结构中的finally块中代码仍然有可能出错从而再次引发异常对)140、在GUI设计中,复选框往往用来实现非互斥多选的功能,多个复选框之间的选择互不影响。
对)141、在GUI设计中,单选按钮用来实现用户在多个选项中的互斥选择,在同一组内多个选项中只能选择一个,当选择发生变化之后,之前选中的选项自动失效对)143、在Python中定义类时实例方法的第一个参数名称不管是什么,都表示对象自身对)144、Python代码可以内嵌在asp文件中对)145、无法配置IIS来支持Python程序的运行错)146、Python标准库os中的方法startfile()可以用来打开外部程序或文件,系统会自动关联相应的程序来打开或执行指定的文件对)149、Python只能使用内置数据库SQLite,无法访问MS SQLServer、ACCESS或Oracle、MySQL等数据库错)154、在函数内部没有任何声明的情况下直接为某个变量赋值,这个变量一定是函数内部的局部变量对)155、定义类时如果实现了__contains__()方法,该类对象即可支持成员测试运算in对)156、定义类时如果实现了__len__()方法,该类对象即可支持内置函数len()对)157、定义类时实现了__eq__()方法,该类对象即可支持运算符==对)158、定义类时实现了__pow__()方法,该类对象即可支持运算符**。
对)162、Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件对)163、Python标准库os中的方法exists()可以用来测试给定路径的文件是否存在对)164、Python标准库os中的方法isdir()可以用来测试给定的路径是否为文件夹对)165、Python标准库os中的方法listdir()返回包含指定路径中所有文件和文件夹名称的列表对)166、Python扩展库xlwt支持对Excel 2003或更低版本的Excel文件进行写操作对)167、Python扩展库xlrd支持对Excel 2003或更低版本的Excel文件进行读操作对)168、带有else子句的异常处理结构,如果不发生异常则执行else子句中的代码对)170、在异常处理结构中,不论是否发生异常,finally子句中的代码总是会执行的对)175、已知x为非空字符串,那么表达式 ''.join(x.split()) == x 的值一定为True错)176、已知x为非空字符串,那么表达式 ','.join(x.split(',')) == x 的值一定为True对)178、在Python中可以使用 id 作为变量名,尽管不建议这样做。
对)180、一个数字5也是合法的Python表达式对)192、标准库os的rename()方法可以实现文件移动操作对)193、标准库os的listdir()方法默认只能列出指定文件夹中当前层级的文件和文件夹列表,而不能列出其子文件夹中的文件对)194、当作为条件表达式时,[]与None等价对)195、表达式 [] == None 的值为True错)196、当作为条件表达式时,{}与None等价对)197、表达式 {}==None 的值为True错)199、当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False对)200、在定义函数时,某个参数名字前面带有一个*符号表示可变长度参数,可以接收任意多个普通实参并存放于一个元组之中对)201、在定义函数时,某个参数名字前面带有两个*符号表示可变长度参数,可以接收任意多个关键参数并将其存放于一个字典之中对)202、定义函数时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数对)203、在调用函数时,可以通过关键参数的形式进行传值,从而避免必须记住函数形参顺序的麻烦。
对)205、调用函数时传递的实参个数必须与函数形参个数相等才行错)209、执行语句 from math import sin 之后,可以直接使用 sin() 函数,例如 sin(3)对)210、列表对象的pop()方法默认删除并返回最后一个元素,如果列表已空则抛出异常对)211、在Python中定义类时,如果某个成员名称前有2个下划线则表示是私有成员对)213、可以使用py2exe或pyinstaller等扩展库把Python源程序打包成为exe文件,从而脱离Python环境在Windows平台上运行对)214、Python程序只能在安装了Python环境的计算机上以源代码形式运行错)218、Python变量名区分大小写,所以student和Student不是同一个变量对)222、lambda表达式中可以使用任意复杂的表达式,但是必须只编写一个表达式对)223、Python类的构造函数是__init__()对)224、定义类时,在一个方法前面使用@classmethod进行修饰,则该方法属于类方法对)225、定义类时,在一个方法前面使用@staticmethod进行休息,则该方法属于静态方法。
对)226、通过对象不能调用类方法和静态方法错)227、在Python中可以为自定义类的对象动态增加新成员对)229、属性可以像数据成员一样进行访问,但赋值时具有方法的优点,可以对新值进行检查对)230、文件对象是可以迭代的对)231、文件对象的tell()方法用来返回文件指针的当前位置对)232、以写模式打开的文件无法进读操作对)233、假设已成功导入os和sys标准库,那么表达式 os.path.dirname(sys.executable) 的值为Python安装目录对)234、只可以动态为对象增加数据成员,而不能为对象动态增加成员方法错)237、Python元组支持双向索引对)238、假设re模块已成功导入,并且有 pattern = pile('^'+'\.'.join([r'\d{1,3}' for i in range(4)])+'$'),那么表达式 pattern.match('192.168.1.103') 的值为None错)239、假设random模块已导入,那么表达式 random.sample(range(10), 20) 的作用是生成20个不重复的整数错)240、假设random模块已导入,那么表达式 random.sample(range(10), 7) 的作用是生成7个不重复的整数。