《Python快速编程入门》复习考试题库(带答案)_第1页
《Python快速编程入门》复习考试题库(带答案)_第2页
《Python快速编程入门》复习考试题库(带答案)_第3页
《Python快速编程入门》复习考试题库(带答案)_第4页
《Python快速编程入门》复习考试题库(带答案)_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1《Python快速编程入门》复习考试题库(带答案)一、单选题1.下列选项中,属于数值类型的是()。A、0B、1.0C、1+2jD、以上全部答案:D2.下列选项中,用于格式化字符串的是()。A、%B、format()C、f-stringD、以上全部答案:D3.下列选项中,不属于字符串的是()。A、"1"B、'python'C、"""^"""D、'1'.23答案:D4.下列选项中,用于获取当前目录的是()。A、open()B、write()C、getcwd()D、read()答案:C5.在完整的异常捕获语句中,各子句的顺序为()。A、try→except→else→finallyB、try→else→except→finallyC、try→except→finally→elseD、try→else→finally→except答案:A6.下列方法中,负责初始化属性的是()。A、__del__()B、__init__()C、__init()D、__add__()答案:B7.阅读下面程序:

Set_01={'a','c','b','a'}

Set_01.add('d')

Print(len(set_01))

运行程序,输出结果是()。A、5B、3C、4D、2答案:C8.若文本文件abc.txt中的内容如下:abcdef阅读下面的程序:File=open('abc.txt','r')Data=file.readline()Data_list=list(data)Print(data_list)以上程序的执行结果为()。A、['abcdef']B、['abcdef\n']C、['a','b','c','d','e','f']D、['a','b','c','d','e','f','\n']答案:C9.下列代码要打开的文件应该在()。

F=open('itheima.txt','w')A、C盘根目录B、D盘根目录C、Python安装目录D、程序所在目录答案:D10.请阅读下面的代码:

Defmany_param(num_one,num_two,*args):

print(args)

Many_param(11,22,33,44,55)

运行代码,输出结果为()。A、(11,22,33)B、(22,33,44)C、(33,44,55)D、(11,22)答案:C11.Python使用()关键字自定义一个函数。A、functionB、funcC、defD、lambda答案:C12.下列选项中,运行后会输出1、2、3的是()。A、

Foriinrange(3):

print(i)B、

Foriinrange(2):

print(i+1)C、

Nums=[0,1,2]

Foriinnums:

print(i+1)D、

I=1

Whilei<3:

print(i)

i=i+1答案:C13.下列方法中,只能由对象调用的是()。A、类方法B、实例方法C、静态方法D、析构方法答案:D14.下列代码运行后会引发()异常。

Num_li=[1,2,3]

Print(num_li[3])A、SyntaxErrorB、IndexErrorC、KeyErrorD、NameError答案:B15.下列选项中,关于异常描述错误的是()。A、错误就是异常,异常就是错误B、异常是程序运行时产生的C、IndexError是Exception的子类D、except子句一定位于else和finally子句之前答案:A16.下列选项中,不属于Python关键字的是()。A、nameB、ifC、isD、and答案:A17.下列关于函数的说法中,描述错误的是()。A、函数可以减少重复的代码,使得程序更加模块化B、不同的函数中可以使用相同名字的变量C、调用函数时,实参的传递顺序与形参的顺序可以不同D、匿名函数与使用关键字def定义的函数没有区别答案:C18.假设文件不存在,如果使用open()方法打开文件会报错,那么该文件的打开方式是下列哪种?()A、rB、wC、aD、w+答案:A19.下列选项中,用于判断文件是作为脚本执行还是被导入其他程序的是()。A、__init__B、__name__C、__exce__D、__main__答案:B20.请阅读下面的代码:

ClassTest:

count=21

defprint_num(self):

count=20

self.count+=20

print(count)

Test=Test()

Test.print_num()

运行代码,输出结果为()。A、20B、40C、21D、41答案:A21.若执行代码1/0,会引发什么异常?()A、ZeroDivisionErrorB、NameErrorC、KeyErrorD、IndexError答案:A22.下列方法中,可以将字符串中的字母全部转换为大写的是()。A、upper()B、lower()C、title()D、capitalize()答案:A23.阅读下面程序:

Lan_info={'01':'Python','02':'Java','03':'PHP'}

Lan_info.update({'03':'C++'})

Print(lan_info)

运行程序,输出结果是()。A、{'01':'Python','02':'Java','03':'PHP'}B、{'01':'Python','02':'Java','03':'C++'}C、{'03':'C++','01':'Python','02':'Java'}D、{'01':'Python','02':'Java'}答案:B24.阅读下面程序:

Random.randrange(1,10,2)

下列选项中,不可能为以上程序输出结果的是()。A、1B、4C、7D、9答案:B25.下列选项中,不属于面向对象三大重要特性的是()。A、抽象B、封装C、继承D、多态答案:A26.假设file是文本文件对象,下列哪个选项可读取file的一行内容?()A、file.read()B、file.read(200)C、file.readline()D、file.readlines()答案:C27.下列方法中,默认删除列表最后一个元素的是()。A、delB、remove()C、pop()D、extend()答案:C28.下列选项中,不属于Python数据类型的是()。A、boolB、dictC、stringD、set答案:C29.已知x=10,y=20,z=30;以下代码执行后x、y、z的值分别为()。

Ifx<y:

z=x

x=y

y=zA、10,20,30B、10,20,20C、20,10,10D、20,10,30答案:C30.下列选项中,不会在发布自定义库时用到的是()。A、pythonsetup.pybuildB、pythonsetup.pysdistC、pythonsetup.pyinstallD、以上全部答案:D31.阅读下面的程序:

Li_one=[2,1,5,6]

Print(sorted(li_one[:2]))

运行程序,输出结果是()。A、[1,2]B、[2,1]C、[1,2,5,6]D、[6,5,2,1]答案:A32.下列方法中,返回结果是时间戳的是()。A、time.sleep()B、time.localtime()C、time.strftime()D、time.ctime()答案:B33.下列选项中,不是Python语言特点的是()。A、简洁B、开源C、面向过程D、可移植答案:C34.打开一个已有文件,在文件末尾添加信息,正确的打开方式为()。A、rB、wC、aD、w+答案:C35.当try子句中的代码没有任何错误时,一定不会执行()子句。A、tryB、exceptC、elseD、finally答案:B36.下列哪个不是Python的应用领域()。A、Web开发B、科学计算C、游戏开发D、操作系统管理答案:D37.已知x与y的关系如表3-1所示:表3-1x与y的关系以下选项中,可以正确地表达x与y之间关系的是()。A、Y=x+1Ifx>=0:ifx==0:y=xelse:y=x-1B、Y=x-1Ifx!=0:ifx>0:y=x+1else:y=xC、Ifx<=0:ifx<0:y=x-1else:y=xElse:y=x+1D、Y=xIfx<=0:ifx<0:y=x-1else:y=x+1答案:C38.下列语句中,可以跳出循环结构的是()。A、continueB、breakC、ifD、while答案:B39.关于字符串的说法中,下列描述错误的是()。A、字符串创建后可以被修改B、字符串可以使用单引号、双引号和三引号定义C、转义字符\n表示换行D、格式符均由%和说明转换类型的字符组成答案:A40.请阅读下面的代码:

Num_one=12

Defsum(num_two):

globalnum_one

num_one=90

returnnum_one+num_two

Print(sum(10))

运行代码,输出结果为()。A、102B、100C、22D、12答案:B41.阅读下面的程序:

Gmtime=time.gmtime()

Time.asctime(gmtime)

下列选项中,可能为以上程序输出结果的是()。A、'MonApr1302:05:382020'B、time.struct_time(tm_year=2020,tm_mon=4,tm_mday=11,tm_hour=11,tm_min=54,tm_sec=42,tm_wday=5,tm_yday=102,tm_isdst=-1)C、3173490635.1554217D、'11:54:42'答案:A42.Python中使用()转义字符。A、/B、\C、$D、%答案:B43.若将2转换为0b10,应该使用()函数。A、oct()B、bin()C、hex()D、int()答案:B44.下列关于类的说法,错误的是()。A、类中可以定义私有方法和属性B、类方法的第一个参数是clsC、实例方法的第一个参数是selfD、类的实例无法访问类属性答案:D45.下列方法中,可以对列表元素排序的是()。A、sort()B、reverse()C、max()D、list()答案:A46.Python中使用()符号表示单行注释。A、#B、/C、//D、<!>答案:A47.Python使用()关键字定义一个匿名函数。A、functionB、funcC、defD、lambda答案:D48.现有如下代码:

Sum=0

Foriinrange(100):

if(i%10):

continue

sum=sum+i

Print(sum)

若运行代码,输出的结果为()。A、5050B、4950C、450D、45答案:C49.下列选项中,用于向文件中写入数据的是()。A、open()B、write()C、close()D、read()答案:D50.下列关于Python的说法中,错误的是()。A、Python是从ABC发展起来的B、Python是一门高级计算机语言C、Python只能编写面向对象的程序D、Python程序的效率比C程序的效率低答案:C判断题1.创建类的对象时,系统会自动调用构造方法进行初始化。()A、正确B、错误答案:A2.断言语句中表达式的值为True时会触发AssertionError异常。()A、正确B、错误答案:B3.strip()方法默认会删除字符串头尾的空格。()A、正确B、错误答案:A4.try-except语句可以有多个finally子句。()A、正确B、错误答案:B5.函数可以提高代码的复用性。()A、正确B、错误答案:A6.字符串中不可以包含特殊字符。()A、正确B、错误答案:B7.布尔类型是特殊的浮点型。()A、正确B、错误答案:B8.实例方法可以由类和对象调用。()A、正确B、错误答案:A9.if-else语句可以处理多个分支条件。()A、正确B、错误答案:B10.find()方法返回-1说明子串在指定的字符串中。()A、正确B、错误答案:B11.如果字符串中包含三引号,可以使用单引号包裹这个字符串。()A、正确B、错误答案:A12.read()方法只能一次性读取文件中的所有数据。()A、正确B、错误答案:B13.raise语句可以抛出指定的异常。()A、正确B、错误答案:A14.elif可以单独使用。()A、正确B、错误答案:B15.rjust()方法用于将字符串的字符以右对齐方式进行显示。()A、正确B、错误答案:A16.列表只能存储同一类型的数据。()A、正确B、错误答案:B17.jieba是一个中文分词库,但该库同时也可以对英文进行分词。()A、正确B、错误答案:A18.“from模块名import*”语句与“import模块名”都能导入指定模块的全部内容,相比之下,from…import*导入的内容无须指定模块名,可直接调用,使用更加方便,因此更推荐在程序中此种方式导入指定模块的全部内容。()A、正确B、错误答案:B19.自定义库只能由自己在本地使用。()A、正确B、错误答案:B20.子类能继承父类全部的属性和方法。()A、正确B、错误答案:B21.集合中的元素无序。()A、正确B、错误答案:A22.字典中的元素可通过索引方式访问。()A、正确B、错误答案:B23.Python3.x版本完全兼容Python2.x。()A、正确B、错误答案:B24.模块文件的后缀名必定是.py。()A、正确B、错误答案:A25.try-except语句中只能有一个except子句。()A、正确B、错误答案:B26.break语句用于结束循环。()A、正确B、错误答案:B27.列表的索引从1开始。()A、正确B、错误答案:B28.函数的位置参数有严格的位置关系。()A、正确B、错误答案:A29.finally子句在任何情况下都会被执行。()A、正确B、错误答案:A30.子类中不能重新实现从父类继承的方法。()A、正确B、错误答案:B31.for循环只能遍历字符串。()A、正确B、错误答案:B32.相比C++程序,Python程序的代码更加简洁、语法更加优美,但效率较低。A、正确B、错误答案:A33.使用write()方法写入文件时,数据会追加到文件的末尾。()A、正确B、错误答案:B34.变量名可以以数字开头。()A、正确B、错误答案:B35.if语句不支持嵌套使用。()A、正确B、错误答案:B36.复数类型的实数部分可以为0。()A、正确B、错误答案:A37.时间差的计算没有意义。()A、正确B、错误答案:B38.Python标识符不区分大小写。()A、正确B、错误答案:B39.Python中可以使用关键字作为变量名。()A、正确B、错误答案:B40.任何函数内部都可以直接访问和修改全局变量。()A、正确B、错误答案:B41.Python程序中使用内置库与第三方库的方式相同,但使用第三方库之前需要先将库导入程序。()A、正确B、错误答案:A42.Python开发人员可以使用内置库,也可以使用第三方库。()A、正确B、错误答案:A43.无论是使用单引号或双引号定义的字符串,使用print()输出的结果一致。()A、正确B、错误答案:A44.pygame库中的init()函数可以初始化所有子模块。()A、正确B、错误答案:A45.变量在程序的任意位置都可以被访问。()A、正确B、错误答案:B46.实际开发中,目录操作需要使用os模块中的函数。()A、正确B、错误答案:A47.文件打开的默认方式是只读。()A、正确B、错误答案:A48.字典中的键唯一。()A、正确B、错误答案:A49.Python通过类可以创建对象,有且只有一个对象。()A、正确B、错误答案:B50.以读写方式打开一个文件,若文件已存在,文件内容会被清空。()A、正确B、错误答案:B51.元组支持增加、删除和修改元素的操作。()A、正确B、错误答案:B52.time模块是Python的内置模块,可以在程序中直接使用。()A、正确B、错误答案:A53.PyCharm是Python的集成开发环境。()A、正确B、错误答案:A54.函数在定义完成后会立刻执行。()A、正确B、错误答案:B填空题1.通过Python的()函数可以初始化所有子模块。答案:init()2.Python中的循环语句有()和()循环。答案:for|while3.seek()方法用于指定文件读写位置,该方法的()参数表示要偏移的字节数。答案:_|offset4.float()函数用于将数据转换为()类型的数据。答案:_|浮点5.字典元素由()和()组成。答案:键|值6.当程序中使用了一个未定义的变量时会引发()异常。答案:NameError7.全局变量是指在函数()定义的变量。答案:外8.自定义异常需要继承()类。答案:Exception9.删除字符串中头部的空格,可以使用()方法。答案:ltrip10.被继承的类称为(),继承其他类的类称为()。答案:父类或基类|子类或派生类11.random是Python的()库,pygame是()库。答案:标准库|第三方库12.Python可以在多种平台运行,这体现了Python语言()的特性。答案:可移植性13.若a=3,b=-2,则a+=b的结果为()。答案:114.使用内置的()函数可创建一个列表。答案:list15.Python使用()关键字可以将局部变量声明为全局变量。答案:global16.使用()关键字可以在当前程序中导入模块。答案:import17.Python中建议使用()个空格表示一级缩进。答案:418.拼接字符串可以使用()方法和运算符()。答案:join|+19.使用内置的()函数可创建一个元组。答案:tuple20.使用()语句可以将指定模块中的全部内容导入当前程序。答案:from…import*21.readlines()方法读取整个文件内容后会返回一个()。答案:_|列表22.Python计算生态通过()、()、()库为数据分析领域提供支持。答案:Numpy|Pandas|SciPy23.os模块中的mkdir()函数用于()。答案:_|创建目录24.定义字符串可使用()、双引号和三引号包裹。答案:单引号25.子类中使用()函数可以调用父类的方法。答案:super()26.()是一种按照一定的规则,自动从网络上抓取信息的程序或者脚本。答案:网络爬虫27.使用()函数可查看数据的类型。答案:type28.Python是面向()的高级语言。答案:对象29.通过Python的内置方法()可以查看字典键的集合。答案:keys()30.()语句是最简单的条件语句。答案:if31.类的成员包括()和()。答案:类方法|类属性32.若函数内部调用了自身,则这个函数被称为()。答案:递归函数33.Python模块的本质是()文件。答案:Python34.在读写文件的过程中,()方法可以获取当前的读写位置。答案:tell()35.调用items()方法可以查看字典中的所有()。答案:_|值的集合36.布尔类型的取值包括()和()。答案:True|False37.Python中使用()关键字来声明一个类。答案:class38.若循环条件的值变为(),说明程序进入无限循环。答案:True39.若不满足assert语句中的表达式会引发()异常。答案:AssertionError40.设计一个Circle(圆)类,该类中包括属性radius(半径),还包括__init__()、get_perimeter()(求周长)和get_area()(求面积)共三个方法。设计完成后,创建Circle类的对象求圆的周长和面积。答案:_|_|ClassCircle:def__init__(self,tup,radius,color):self.center=tupself.radius=radiusself.color=colordefperimeter(self):return3.14*2*self.radiusdefarea(self):return3.14*self.radius*self.radiusCircle=Circle((0,0),5,"蓝色")Print(circle.perimeter())Print(circle.area())41.打开文件对文件进行读写后,应调用()方法关闭文件以释放资源。答案:close()42.请简述读取文件3种方法read()、readline()、readlines()的区别。答案:_|_|常用的文件打开模式有r、w、a,其中r以只读的方式打开文件;w以只写的方式打开文件;a以追加的方式打开文件。43.()是组织好的、实现单一功能或相关联功能的代码段。答案:函数44.Python中列表的元素可通过()或()两种方式访问。答案:切片|索引45.设计一个Course(课程)类,该类中包括number(编号)、name(名称)、teacher(任课教师)、location(上课地点)共4个属性,其中location是私有属性;还包括__init__()、show_info()(显示课程信息)共两个方法。设计完成后,创建Course类的对象显示课程的信息。答案:_|_ClassCourse:def__init__(self):self.number=1001="语文"self.teacher="张老师"self.__location="2号教学楼3层305室"defshow_info(self):return("""课程编号:%d课程名称:%s任课教师:%s上课地点:%s"""%(self.number,,self.teacher,self.__location))Course=Course()Print(course.show_info())46.Python中所有异常都是()的子类。答案:BaseException47.()语句可以跳出本次循环,执行下一次循环。答案:continue48.Python可以通过在类成员名称之前添加()的方式将公有成员改为私有成员。答案:双下画线49.()循环一般用于实现遍历循环。答案:for50.匿名函数是一类无须定义()的函数。答案:函数名简答题1.编写程序,实现判断用户输入的数是正数还是负数的功能。答案:

Num=int(input("请输入一个数:"))

Ifnum>0:

print("输入的数是正数")

Elifnum<0:

print("输入的数是负数")

Else:

print("输入的书是零")2.编写函数,判断用户输入的整数是否为回文数。回文数是一个正向和逆向都相同的整数,如123454321、9889。答案:

Defis_palindrome():

num=input('请输入整数:\n')

palindrome_num=num[::-1]

returnnum==palindrome_num

Print(is_palindrome())3.编写程序,实现一个根据可根据指定文本文件和图片文件生成不同形状词云的程序。答案:

Importwordcloud

Frommatplotlib.imageimportimread

Font='AdobeHeitiStd-Regular.otf'

#用于生成词云的字符串

Withopen('葫芦兄弟.txt','r',encoding='utf-8')asfile:

string=str(file.read())

#词云形状

Mk=imread('葫芦娃.jpg')

#创建词云对象

W=wordcloud.WordCloud(font_path=font,mask=mk,

max_words=500,background_color='white')

#加载文本

W.generate(string)

#生成词云

W.to_file('葫芦娃.png')4.编写程序,实现文件备份功能。答案:

PasswordBook={}

Defadd(password,value):

ifpasswordnotinpasswordBook.keys():

passwordBook[password]=value

save()

else:

print("该密码已存在")

Defdelete(password):

ifpasswordinpasswordBook.keys():

delpasswordBook[password]

print(passwordBook)

save()

else:

print("该密码不存在")

Defmodify(password,newValue):

ifpasswordinpasswordBook.keys():

passwordBook[password]=newValue

print(passwordBook)

save()

else:

print("该密码不存在")

Deffind(value):

ifvalueinpasswordBook.values():

print("该网址存在")

else:

print("该网址不存在")

Defsave():

f=open("password.txt","w")

"f.write(str(passwordBook))//"符号不存在

"f.close()//"符号不存在

DefprintInfo():

print("密码簿的功能如下:")

print("1.添加")

print("2.删除")

print("3.修改")

print("4.查找")

I=0

Whilei<5:

printInfo()

num=int(input("请输入要选择的功能:"))

ifnum==1:

web=input("请输入存入的网址:")

password1=input("请输入密码:")

add(password1,web)

print(passwordBook)

elifnum==2:

password2=input("请输入密码:")

delete(password2)

elifnum==3:

password3=input("请输入密码:")

value3=input("请输入新的网址:")

modify(password3,value3)

elifnum==4:

value4=input("请输入要查找的网址:")

find(value4)

i+=15.已知字符串str='skdaskerkjsalkj',请统计该字符串中各字母出现的次数。答案:

Dict_data=dict()

String='skdaskerkjsalkj'

Foreleminstring:

ifelemnotindict_data.keys():

dict_data[elem]=1

else:

dict_data[elem]=dict_data[elem]+1

Print(dict_data)6.简单介绍删除字典元素的几种方式。答案:

7.编写程序,读取存储若干数字的文件,对其中的数字进行排序后输出。答案:

8.简单列举Python计算生态覆盖的领域(至少5个)。答案:

Python计算生态覆盖的领域包括网络爬虫、数据分析、文本处理、数据可视化、机器学习、图形用户界面等。9.编写函数,判断用户输入的三个数字是否能构成三角形的三条边。答案:

Deftriangle():

side_length_one=int(input("请输入第一个边长:\n"))

side_length_two=int(input("请输入第二个边长:\n"))

side_length_three=int(input("请输入第三个边长:\n"))

if(side_length_one+side_length_two>side_length_threeand

side_length_one+side_length_three>side_length_twoand

side_length_two+side_length_three>side_length_one):

return"能构成三角形"

else:

return"不能构成三角形"

Print(triangle())10.简述位置参数、关键字参数、默认参数传递的区别。答案:1.

位置参数会将实参依次传递给形参;关键字参数是通过“形参=实参”形式将实参传递给形参;默认参数是在定义函数时,为形参赋值。11.编写程序,实现输出100以内质数的功能。答案:

I=2

Foriinrange(2,100):

j=2

forjinrange(2,i):

ifi%j==0:

break

else:

print(i)12.简述面向对象的三大特性。答案:

13.已知列表li_num1=[4,5,2,7]和li_num2=[3,6],请将这两个列表合并为一个列表,并将合并后的列表中的元素按降序排列。答案:

Li_num1=[4,5,2,7]

Li_num2=[3,6]

Li_num1.extend(li_num2)

Li_num1.sort(reverse=True)

Print(li_num1)14.若想对两个表示时间的变量进行计算,应将时间转换为什么格式?为什么?答案:

若两个表示时间的变量进行计算,可以先将其转换为时间戳形式。因为时间戳是以浮点型显示,便于时间计算与转换。15.简述介绍Python中库、包和模块的概念。答案:

Python中的库分为标准库和第三方库,标准库可以在Python中直接使用,第三方库需要进行安装;模块本质上是一个包含Python代码片段的.py文件;将模块放入到一个文件夹中,并在该文件夹中创建__init__.py文件,就构建了一个Python包。16.列举Python中常用的组合数据类型,简单说明它们的异同。答案:

Python中组合类型有列表、元组、字典和集合,这些数据类型都可以存储任意个元素。从访问元素来看,列表、元组和集合都可以通过索引获取数据,而字典类型数据没有索引;从存储数据来看,列表中的元素可以随意更改;存储在元组中的元素不可更改;存储在字典中键具有唯一性;存储在集合中的元素具有不重复性。17.读取存储《哈姆雷特》英文剧本的文件,分析统计其中单词出现的频率,使用turtle模块绘制词频统计结果,以柱状图的形式展示统计结果。统计效果如图10-24所示。

图10-1统计结果参考图示答案:

Importturtle

'''全局变量'''

Amount=10#词频排列显示个数

Words=[]#单词集合-x轴数据

WCounts=[]#单词频数集合-y轴数据

XPoint=-360

YPoint=-200

'''turtlestart'''

#绘制从点(x1,y1)到(x2,y2)的线段

DefdrawLine(t,x1,y1,x2,y2):

t.penup()

t.goto(x1,y1)

t.pendown()

t.goto(x2,y2)

#在坐标(x,y)处写文字

DefdrawText(t,x,y,text,fontSize=10):

t.penup()

t.goto(x,y)

t.pendown()

t.write(text,font=('微软雅黑',fontSize,),align='center')

#绘制矩形

DefdrawRectangle(t,x,y,rWidth):

drawLine(t,x-rWidth,yPoint,x-rWidth,y)

drawLine(t,x-rWidth,y,x+rWidth,y)

drawLine(t,x+rWidth,y,x+rWidth,yPoint)

drawLine(t,x+rWidth,yPoint,x-rWidth,yPoint)

#绘制柱状图

DefdrawBarchart(t):

drawText(t,0,-yPoint-40,"词频统计结果",15)#绘制标题

drawRectangle(t,0,-yPoint,-xPoint)#绘制边框

rWidth=-xPoint/(2*amount)#控制条形柱宽度(2rWidth)

xScale=-xPoint*2/(amount+1)#x轴显示放大倍数-可根据amount进行调节

yScale=-yPoint/wCounts[0]#y轴显示放大倍数-可根据频数进行调节

foriinrange(amount):

i=i+1#右移以避免与原点重合

x=i*xScale+xPoint

y=wCounts[i-1]*yScale+yPoint

drawText(t,x,yPoint-20,words[i-1])#打印单词

drawText(t,x,y+10,wCounts[i-1])#打印频率

t.begin_fill()

drawRectangle(t,x,y,rWidth)

t.end_fill()

#初始化窗口

Definit():

turtle.title('词频结果柱状图')

turtle.screensize(900,750,"#272727")

t=turtle.Turtle()

t.hideturtle()#隐藏箭头

t.width(1)#线条粗细

t.color("#EBEBD0","#006030")

#t.color("#006030","#FFF68C")

drawBarchart(t)#绘制

turtle.exitonclick()

'''dataProcessing'''

#对文本的每一行计算词频的函数

DefprocessLine(line,wordamounts):

line=replacePunctuations(line)#用空格替换标点符号

words=line.split()#从每一行获取每个词

forwordinwords:

ifwordinwordamounts:

wordamounts[word]+=1

else:

wordamounts[word]=1

#空格替换标点

DefreplacePunctuations(line):

forchinline:

ifchin"~!#$%^&*()-_+=<>?/,.:;{}[]|\'\"":

line=line.replace(ch,'')

returnline

#数据处理,得到文件中出现频率最高的单词及其频数

DefdataProcess(filename):

infile=open(filename,'r',encoding='UTF-8')

wordamounts={}#建立用于记录词频的空字典

forlineininfile:

processLine(line.lower(),wordamounts)

pairs=list(wordamounts.items())#从字典中获取数据对

items=[[x,y]for(y,x)inpairs]#列表中的数据对交换位置,使频数成为元素的键值

items.sort()#列表排序。默认根据键值排序

#输出amount个词频结果

foriinrange(len(items)-1,len(items)-amount-1,-1):

print(items[i][1]+"\t"+str(items[i][0]))

wCounts.append(items[i][0])

words.append(items[i][1])

infile.close()

Defmain():

#用户输入一个文件名

filename=input("enterafilename:").strip()

dataProcess(filename)

init()

#调用main()函数

If__name__=='__main__':

main()18.请简单介绍Python中的数据类型和数字类型。答案:

根据数据存储形式的不同,Python使用不同的数据类型存储不同类型的数据。数字类型提供了数值的存储,Python中的数字类型又包含整型、浮点型、复数类型和布尔类型。19.简述构造方法和析构方法的特点。答案:

20.已知元组tu_num1=('p','y','t',['o','n']),请向元组的最后一个列表中添加新元素“h”。答案:

Tu_num1=('p','y','t',['o','n'])

Tu_num1[len(tu_num1)-1].append('h')

Print(tu_num1)21.读取一个文件,打印除了以#开头的行之外的所有行。答案:

Deffile_read():

data_li=[]

withopen('file.txt','r',encoding='utf8')asfile:

fordatainfile.readlines():

ifnotdata.startswith('#'):

data_li.append(data)

returndata_li

Print(file_read())22.编写程序,计算圆的面积,若半径为负值则抛出异常(圆的面积公式:S=πr^2)。答案:

ClassNumericalError(Exception):

def__init__(self):

self.message='请输入正确的数据'

ClassCircleArea:

defcircle(self):

try:

radius=int(input("请输入圆的半径:\n"))

ifradius<0:

raiseNumericalError()

exceptNumericalErrorase:

print(e.message)

else:

#计算圆的面积

print(3.14*radius**2)

Circle_area=CircleArea()

Circle_area.circle()23.简述Python的特点。答案:Python主要的特点有代码简洁、语法优美、简单易学、开源、可移植、类库丰富、中文支持等。24.请简述本章介绍的4种Exception类异常并说明其产生的原因。答案:

常见的异常有NameError、FileNotFoundError、IndexError。NameError异常产生的原因是使用了未定义的变量;FileNotFoundError异常是打开不存在的文件;IndexError异常是访问了规定索引之外的数据。25.整数排序。输入三个整数,把这三个数由小到大输出。答案:

L=[]

Foriinrange(3):

x=int(input('请输入整数:'))

l.append(x)

L.sort()

Print(l)26.编写函数,计算20*19*18*…*3的结果。答案:

Deffunc(num):

ifnum==2:

return1

else:

returnnum*func(num-1)

Result=func(20)

Print(result)27.简述Python中模块、包和库的意义。答案:模块是最基础的代码组织方式,每个包含有组织的代码片段的.py文件都是一个模块;包以类似目录的机构组织模块文件或子包;库是一个抽象的概念,它是指具有相关功能模块的集合。28.简述while和for语句的区别。答案:29.编写函数,输出1~100中偶数之和。答案:

Defevent_num_sum():

result=0

counter=1

whilecounter<=100:

counter+=1

ifcounter%2==1:

continue

result+=counter

returnresult

Print(event_num_sum())30.请简单介绍Python中的运算符答案:

31.简述break和continue的区别。答案:

Break语句用于结束整个循环;continue的作用是用来结束本次循环,紧接着执行下一次的循环。32.编写程序,已知字符串s='AbcDeFGhIJ',请计算该字符串中小写字母的数量。答案:

S='AbcDeFGhIJ'

Count=0

Foriins:

forjins.lower():

ifi==j:

count+=1

Print(count)33.简述实例方法、类方法、静态方法的区别。答案:

1类方法需要使用classmethod进行标识,该方法可以访问类属性,无法访问实例属性,可以通过类实例和类进行调用。静态方法使用staticmethod进行标识,该方法无法访问实例属性和类属性,起到类似于函数的作用,使用类或者类实例进行调用。实例方法直接在类中使用def进行定义,可以访问其实例属性和类属性,使用类实例进行调用。如果要修改实例属性的值,就直接使用实例方法;如果要修改类属性的值,就直接使用类方法;如果是辅助功能,比如打印菜单,这时可以考虑使用静态方法,可以在不创建对象的前提下使用。34.请简述Python变量的命名规范。答案:

35.请写出raise语句抛出异常的3种格式,并简单介绍每种格式的功能。答案:

抛出异常的方式有raise异常类;raise异常对象和raise,其中第一种是使用异常类名引发指定的异常;第二种是使用异常类的对象引发指定的异常;第三种是使用刚出现过的异常重新引发异常。36.请简述什么是字符串。答案:

字符串是由字母、符号或者数字组成的字符序列,Python支持使用单引号、双引号和三引号定义字符串。37.编写程序,检查字符串"Lifeisshort.Iusepython"中是否包含字符串"python",若包含则替换为"Python"后输出新字符串,否则输出原字符串。答案:

String="Lifeisshort.Iusepython"

Ifstring.find('python'):

new_string=string.replace('python','Python')

print(new_string)

Else:

print(string)38.编写程序,输入三角形三条边判断能否构成直角

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论