版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python程序设计自我检测题参考答案项目一初识Python程序一、选择题1-5BCDAD二、填空题1.https://www.P/2.打印输出3.开发版社区版4.Ctrl+Shift+F105.Pycharm、IDLE等三、阅读程序,写出程序的运行结果name=input("请输入你的姓名:")age=input("请输入你的年龄:")print("大家好,我叫",name,"今年",age,"岁")输出结果:请输入你的姓名:张三请输入你的年龄:18大家好,我叫张三今年18岁四、编写程序1.print("*")print("***")print("*****")print("***")print("*")2.print("*")print("***")print("*****")print("***")print("*")项目二操作基本类型数据一、选择题1-5DDBDB6-9CBBD二、填空题1.type()2.%3.整型、实型4.5235.round()6.7.2529//47.28.="helloPython"9."a234b123c"10."123123123"三、阅读程序,写出程序的运行结果1.welcometoPythonandPythonisfun2.hloPtonhyle四、编写程序1.F=float(input("请输入华氏温度:\n"))C=5/9*(F-32)print(f"相应的摄氏温度为{C:.1f}度")2.n=int(input("请输入一个四位正整数:\n"))a,b,c,d=n//1000,n//100%10,n//10%10,n%10print(f"{n}的各位数字之和为{a+b+c+d}")3.s="Python"print(s[1::2])项目三控制程序执行流程一、选择题1-5ABBCD6-8DCB二、填空题1.for循环while循环2.breakcontinue3.continuebreak4.会5.random.random()*5三、阅读程序,写出程序的运行结果1.和为62.*************************3.redappleredbananabigapplebigbananatastyappletastybanana4.1247810四、编写程序1.c=input("请输入一个字符:\n")ifc.isupper():print(f"{c}是大写字母")elifc.islower():print(f"{c}是小写字母")elifc.isdigit():print(f"{c}是数字字符")else:print(f"{c}是其他字符")2.n=int(input("请输入一个正整数:\n"))s=0foriinrange(n,0,-2):print(i)s+=1/iprint(s)3.foriinrange(5,0,-1):print("*"*i)4.n=int(input("请输入一个正整数:\n"))f=Trueforjinrange(2,n//2+1):ifn%j==0:f=False;breakiff:print(f"{n}是质数")else:print(f"{n}不是质数")项目四操作组合类型数据一、选择题1-5CADCB6-10ABA(选项更正为ifa[::]==a[::-1])AA二、填空题1.[aforainrange(10,101)ifa%3==0]2.元组3.项键值4.项无序且不重复5.a^b6.[0,1,8,27,64]7.num.split(",")8.[3,7,7]9.['茶艺','舞蹈','绘画']10.{3,5}三、阅读程序,写出程序的运行结果1.9F2.lijuan四、编写程序1.arr=[3,8,7,2,11,5]n=len(arr)res=sorted(arr)res=[(res[i-1],res[i])foriinrange(1,n)]m=min(s[1]-s[0]forsinres)foriinres:ifi[1]-i[0]==m:print(i)2.s=input("请输入一个整数:\n")n=len(s)t=s[::-1]res=[t[i:i+3]foriinrange(0,n,3)]print(",".join(res)[::-1])项目五使用函数实施模块化程序设计一、选择题1-3CAD4①C②A5①C②A二、填空题1.实际参数(或简称实参)2.位置参数关键字参数3.局部函数4.递归函数5.名称三、阅读程序,写出程序的运行结果1.282.[1,3,5,7]3.[1,2]四、编写程序1.defreverse(lst):returnlst[::-1]if__name__=="__main__":s=input("请输入字符串:\n")print(reverse(s))2.defonly(s):forcins:ifs.count(c)==1:returncif__name__=="__main__":s=input("请输入字符串:\n")print(only(s))3.defWordNum(s):w=s.split()d={}foriinw:ifiind:d[i]+=1else:d[i]=1returndif__name__=="__main__":s=input("请输入字符串:\n")print(WordNum(s))项目六应用面向对象思想设计程序一、选择题1-5DDACD二、填空题1.classboss(employee):2.方法def2.将类的方法指定为属性将方法指定为name属性的修改器3.类名.方法名(实际参数)4.初始化类对象三、阅读程序,写出程序运行结果973355292325537.69911184307752四、编写程序1.classStudent:def__init__(self,sno,name,sex,clsname):self.sno=snoself.__name=nameself.sex=sexself.clsname=clsnamedefshow(self):print(f"{self.sno:^10s}{self.__name:^5s}{self.sex:^3s}{self.clsname:^20s}")classStudent_Grade(Student):def__init__(self,sno,name,sex,clsname):super().__init__(sno,name,sex,clsname)self.__grade={}defAddGrade(self,course,grade):self.__grade[course]=gradedefAverage(self):iflen(self.__grade)==0:return0returnsum(self.__grade.values())/len(self.__grade.values())if__name__=="__main__":s=input("请输入成绩,格式为:课程名称成绩,直接换行结束输入:\n")stu=Student_Grade("0001","张三","男","2020级大数据1班")whileTrue:data=s.split()iflen(data)!=2:print("输入结束\n");breaktry:grade=float(data[1])except:print("成绩格式错\n");breakstu.AddGrade(data[0],grade)s=input("请输入成绩,格式为:课程名称成绩,直接换行结束输入:\n")print("平均分",stu.Average())2.fromdatetimeimportdateclassMonthError(Exception):def__str__(self):return'月份错误'classDayError(Exception):def__str__(self):return'日期错误'classDateFormatError(Exception):def__str__(self):return'日期格式错误'classMyDate3:@staticmethoddefstr2date(sdate):try:year,month,day=[int(d)fordinsdate.split("/")]except:raiseDateFormatErrordnums=[0,31,28,31,30,31,30,31,31,30,31,30,31]ifnot1<=month<=12:raiseMonthErrorelse:ifyear%400==0oryear%100!=0andyear%4==0:dnums[2]+=1ifnot1<=day<=dnums[month]:raiseDayErrorreturndate(year,month,day)if__name__=="__main__":s=input("请输入日期(yyyy/mm/dd):\n")try:date=MyDate3.str2date(s)exceptExceptionase:print(e)else:print(date)项目七操作文件一、选择题1-5BABAB6-10BCCBA二、填空题1.os.path.isdir("d:\\a")2.os.makedirs(r"D:\a\b\c")3.os.listdir(r"D:\a")4.os.path.join(r"D:\a\b\c","d.xlsx")5.('D:\\a\\b\\c和文件名d','.xlsx')6.rmtree("D:\\a")7.copytree("D:\\a","D:\\d")8.withopen("D:\\a.json","w")asf:json.dump(列表名称,f)9.load_workbook(f"d:\\a.xlsx")["sheet1"]10.withopen("D:\\a.pkl","wb")asf:pickle.dump([1,2,3,4],f)三、编写程序1.importosfromshutilimportcopytreeforiinrange(1,11):os.makedirs("D:\\自己的姓名\\"+str(i))copytree("d:\\自己的姓名","c:\\自己的姓名")2.importosfromopenpyxlimportWorkbookfiles=os.listdir("C:\\windows")wb=Workbook()sheet=wb.create_sheet("windows")i=1forfinfiles:sheet.cell(i,1).value=fi+=1wb.active=1wb.save("d:\\files.xlsx")#有些系统限制存到C盘项目八使用进程和线程并行执行一、填空题1.requests.get(url)2.元素后代3.当前节点4.选择body元素下class属性值为main的div元素5.tree.xpath(‘//td[@class=”sname”]’)6.是被调用函数被调用函数的参数构成的列表item_list7.t.start()8.p.join()9.逻辑CPU数量二、简答题1.所有任务排成一列依次执行的方式称为串行。多个程序任务同时执行的方式称为并行。两者的区别在于同时执行的任务数量,串行同一时刻只有一个任务在执行,并行同一时刻有多个任务在执行。2.Python中的多个线程其实是交替在CPU上执行的,适用于IO密集型任务,即输入输出操作多的程序,多个线程并发执行能让计算和输入输出操作同时执行,进而提高运行速度。多进程并行执行是多个进程同时在多核CPU上运行,是真正的同时运行,适用于计算密集型程序。3.在主进程中依次调用子进程对象的join()方法可以等待所有子进程执行结束。4.在Python中使用进程间的同步机制,如锁、队列和管道等控制进程的执行顺序。三、编程题1.fromlxmlimportetreeimportrequestsfroma5_3_2检测函数运行时间importtimeitdeftoFloat(s):base=10000ifs.find('万')>=0else1s=s.replace('万','').replace(',','')try:returnfloat(s)*baseexcept:return0defget_inventory(company_code):content=requests.get(f'/share,{company_code},zcfzb.shtml').contenttree=etree.HTML(content)company_name=tree.xpath('//div[@class="sname"]/h3/a/text()')[0]inventory=toFloat(tree.xpath("//td[contains(text(),'存货')]/following-sibling::td[1]")[0].text)return[company_code,company_name,inventory]@timeit(1)defget_all(stock_list):returnsorted([get_inventory(company_code)forcompany_codeinstock_list],key=lambdaa:a[2],reverse=True)if__name__=="__main__":res=get_all(['300505','300477','300958','300779','300354','300079','300899','300193','300317','300568','300480','300212','300445','300367','300769','300422','300278','300103','300438','300543'])print(f"{'代码':^10s}{'名称':^10s}{'存货':^20s}")forsinres:print("{s[0]:^10s}{s[1]:{ch}^10s}{s[2]:<20.2f}".format(s=s,ch=chr(12288)))2.frommultiprocessingimportPool,cpu_countdefIsPrime(num):forjinrange(2,int(num**0.5)+1):ifnum%j==0:return0returnnumif__name__=="__main__":withPool(cpu_count())aspool:res=pool.map(IsPrime,range(2,10000))print([iforiinresifi!=0])项目九访问数据库一、选择题1-5DCBAD二、填空题1.excecute2.字段3.insert4.delete三、编写程序1.importsqlite3con=sqlite3.connect('students.db')cur=con.cursor()cur.execute('''CREATETABLEstudents_Infor(idintegerprimarykey,nametext,sextext,ageinteger)''')cur.execute('''CREATETABLEcourse(idintegerprimarykey,course_nametext)''')cur.execute('''CREATETABLEgrade(stud_idinteger,course_idinteger,gradereal,primarykey(stud_id,course_id))''')mit()con.close()2.importsqlite3con=sqlite3.connect('students.db')cur=con.cursor()cur.execute("insertintostudents_inforvalues(1,'张三','男',15)")cur.execute("insertintostudents_inforvalues(2,'李四','女',15)")cur.execute("insertintostudents_inforvalues(3,'王五','男',15)")cur.execute("insertintostudents_inforvalues(4,'韩六','女',15)")cur.execute("insertintostudents_inforvalues(5,'赵七','男',15)")cur.execute("insertintocoursevalues(1,'语文'),(2,'数学'),(3,'英语'),(4,'Python'),(5,'Pandas')")mit()con.close()3.importsqlite3con=sqlite3.connect('students.db')cur=con.cursor()cur.execute("deletefromstudents_inforwheresex='男'")mit()con.close()项目十使用正则表达式处理文字一、选择题1-5BCADB二、填空题1."[1-9]\d{4,10}"2.正前瞻负前瞻正回顾负回顾3."[\u4e00-\u9fa5][A-Z][A-Z0-9]{5}"4."\d{3}-\d{8}"5.数字非数字单词字符非单词字符三、阅读程序,写出程序运行结果1.matchObj.group():Onaverage,EuropeansaretallerthanAsiansmatchObj.group(1):Onaverage,EuropeansmatchObj.group(2):taller2.电话号码话号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 畹町烧烤活动方案策划(3篇)
- 打井建房施工方案(3篇)
- 大堂换灯施工方案(3篇)
- 天津专业活动策划方案(3篇)
- 社团冬至活动策划方案(3篇)
- 物流行业运输与配送规范
- 2025年老龄服务行业护理操作规范
- 医院开业广告投放方案
- 给排水技术培训
- 2025年大学大二(管理学)专业核心能力测试题及解析
- 急性酒精中毒急救护理2026
- 2021-2022学年天津市滨海新区九年级上学期物理期末试题及答案
- 江苏省苏州市、南京市九校2025-2026学年高三上学期一轮复习学情联合调研数学试题(解析版)
- 2026年中国医学科学院医学实验动物研究所第三批公开招聘工作人员备考题库及答案详解一套
- 2025年幼儿园教师业务考试试题及答案
- 国家开放大学《Python语言基础》形考任务4答案
- (自2026年1月1日起施行)《增值税法实施条例》重点解读
- 2026春小学科学教科版(2024)三年级下册《4.幼蚕在生长》教学设计
- 管道安装协议2025年
- 2025宁夏贺兰工业园区管委会招聘40人笔试参考题库及答案解析
- 2026河南省气象部门招聘应届高校毕业生14人(第2号)参考题库附答案
评论
0/150
提交评论