版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python语言程序设计Python语言程序设计Python语言程序设计Python语言程序设计编制仅供参考审核批准生效日期地址:电话:传真:邮编:《Python语言程序设计》平时作业姓名:贺涛学号:201.Python语言有哪些数据类型数值类型(整型、浮点型、复数型)、布尔型、字符串、列表、元组、字典和集合等2.Python语言有哪些运算符请列表说明它们各自的运算优先级。算术运算符、位运算符、关系运算符、逻辑运算符、赋值运算符、成员运算符、身份运算符等3.Python语言有哪些语句if语句、while语句、for语句4.简述元组与列表的异同。并简述它们各自的用途。Python元组和列表一样,都是有序序列,在很多情况下可以相互替换,很多操作也类似,但它们也有区别:元组是不可变的序列类型,元组能对不需要改变的数据进行写保护,使数据更安全。列表是可变的序列类型,可以添加、删除或搜索列表中的元素。元组使用小括号定义用逗号分隔的元素,而列表中的元素应该包括在中括号中。虽然元组使用小括号,但访问元组元素时,要使用中括号按索引或分片来获得对应元素的值。元组可以在字典中作为关键字使用,而列表不能作为字典关键字使用,因为列表不是不可改变的。只要不尝试修改元组,那么大多数情况下把它们作为列表来进行操作用途:列表可被用于保存多个互相独立对象的数据集合元组用于描述一个不会改变的事务的多个属性5.简述字典和集合的异同。并简述它们各自的用途。字典和集合的数据元素之间没有任何确定的顺序关系,属于无序的数据集合体,因此不能像序列那样通过位置索引来访问数据元素。作为一种复合数据类型,字典和集合之间的主要区别在于它们的操作,字典主要关心其元素的检索、插入和删除,集合主要考虑集合之间的并、交和差操作。6.请分别举例说明遍历列表、元组、字典和集合中各元素的方法。列表:列表与for循环语句配合使用,可实现对列表各个元素的遍历。foriinlist:print("序号:%s值:%s"%(i)+1,i))元组:元组与for循环语句配合使用,可实现对元组各个元素的遍历。示例同列表。字典:遍历字典的关键字:():返回一个包含字典所有关键字的列表,所以对字典关键字的遍历转换为对列表的遍历。遍历字典的值:():返回一个包含字典所有值的列表,所以对字典值的遍历转换为对列表的遍历。遍历字典的元素:():返回一个包含所有(关键字,值)元组的列表,所以对字典元素的遍历转换为对列表的遍历。集合:集合与for循环语句配合使用,可实现对集合各个元素的遍历。7.在Python中如何实现二维数组、结构体、结构体数组(二维表)、链表请举例说明。二维数组:列表中嵌套列表matrix=[[0,0,0],[0,0,0],[0,0,0],[0,0,0]]结构体:使用字典数据类型实现结构体当列表的元素也是一个列表时,列表就表示二维矩阵或锯齿阵。8.在Python中如何实现栈和队列请举例说明。classStack(object):def__init__(self):=[]defisEmpty(self):return==[]defpush(self,item):pop(self):if():raiseIndexError,'popfromemptystack'returnpeek(self):return[-1]defsize(self):returnlenclassQueue:def__init__(self,head=None):=[head]defenqueue(self,new_element):peek(self):return[0]defdequeue(self):return请分别说明Python中正则表达式、lambda函数、装饰器、异常处理、断言处理各自的用途。正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。lambda函数:是指没有函数名的简单函数,只可以包含一个表达式,不允许包含其他复杂的语句,表达式的结果是函数的返回值。用匿名函数有个好处,因为函数没有名字,所以不必担心函数名冲突。装饰器:可简单地理解为一个函数,这是一个用来包装函数的函数,经常用于为已经存在的函数添加额外的功能。当多个函数有重复代码时,可以将此部分代码单独拿出来整理成一个装饰器,然后对每个函数调用该装饰器,这样可以实现代码的复用,而且可以让原来的函数更轻便。当需要为多个己经写好的函数添加一个共同功能,例如检查参数的合法性时,就可以单独写一个检查合法性的装饰器,然后在每个需要检查参数合法性的函数处调用即可,而不用去每个函数内部修改。断言处理:10.请分别举例说明,在Python中函数的实在参数与形式参数间单向和双向传递数据是如何实现的。函数的位置参数与关键字参数有何区别在Python中,实参向形参传送数据的方式是“值传递”,即“拷贝”或“复制”。实参的值传给形参,是对象间整体赋值,是一种单向传递方式,不能由形参传回给实参。函数体传入的参数,为函数体外变量引用的副本。在函数体中改变变量指向的堆中的值,对函数外变量有效。在函数体中改变变量的引用,对函数外变量无效。关键字参数和位置参数的区别:函数调用时的参数通常采用按位置匹配的方式,即实参按顺序传递给相应位置的形参。实参的个数应与形参个数必须完全相等。在函数调用中使用关键字参数,是指通过形式参数的名称来指示为哪个形参传递什么值,这可以跳过某些参数或脱离参数的顺序。11.请简述Python中类对象与实例对象、类属性与实例属性各自的区别并简述它们各自的用途。类对象与实例对象的区别:在一个类中,类对象只有一个,但实例对象可以有多个。类对象在定义类后便自然存在,而实例对象需要人为创建。类属性与实例属性的区别:实例属性是实例对象所特有的。类对象并不拥有实例属性,所以不能通过类对象来访问实例属性。实例属性也只能用实例对象来访问,不能用类对象来访问实例属性。类属性即可用类对象访问,也可用实例对象访问。用途:12.请简述Python中类方法、实例方法、静态方法各自的区别并简述它们各自的用途。实例方法只能用实例对象来调用,不能用类对象来调用实例方法。类方法:类方法是类对象所拥有的方法,类方法的第一个参数必须是类对象,可以通过实例对象和类对象去访问类方法,类方法可以对类属性进行修改。实例方法:实例方法是类中最常定义的成员方法,它至少有一个参数并且必须以实例对象作为其第一个参数,在类外实例方法只能通过实例对象去调用,不能通过其他方式去调用。静态方法:静态方法需要通过修饰器“@staticmethod”来进行修饰,静态方法不需要多定义参数。静态方法中不需要额外定义参数,因此如果在静态方法中引用类属性,则必须通过类对象来引用。13.请举例说明Python面向对象的多态性(例如函数重载、运算符重载)是如何实现的父类和多个子类中都有同名的方法,虽然方法同名,但该方法在不同类中的行为是不同的。当向一个对象发送消息(即调用该方法)时,所得结果取决于是哪一个对象接收。多个不同的对象都支持相同的消息,但各对象响应消息的行为不同,这种能力就是多态性的体现,即同一操作在不同的上下文环境中具有不同形态的意思。14.请分别简述利用thinter模块、turtle模块和graphics模块绘图时各自的绘图步骤。thinter模块:·导入Tkinter模块创建控件指定这个控件的master,即这个控件属于哪一个告诉GM(geometrymanager)有一个控件产生了。turtle模块:引入turtle模块创建画布。调用turtle中的Pen函数。移动海龟。提起画笔graphics模块:导入graphics模块包使用GraphWin调用Point()类,设置X坐标和Y坐标调用draw()方法,绘制15.简述使用tkinter模块创建一个图形用户界面应用程序的主要步骤。导入Tkinter模块创建一个顶层窗口对象,来容纳你的整个GUI程序在你的顶层窗口对象上(或者其中)创建所有的GUI模块(以及功能)把这些GUI模块与底层代码相连接进入主事件循环16.在tkinter模块中事件绑定方式有哪几种并简述它们各自的用途。(event,handler)使用frame的bind方法将一个callback方法绑定到一个事件绑定到widgetinstance使用bind方法绑定到widget的toplevelwindows,顶层窗口,也是用bind绑定到widgetclass,使用bind_class17.请用Python语言编写一个简易的系统登录程序。importimporttkintermy_window=()#生成my_window主窗口('welcomemy_window')#设置窗口标题cv=(my_window,bg='lightcyan')#用画布设置窗口的颜色()('200x150')#设置窗口大小#label标签(用户名和密码的变量)varName=()#文字变量储存器器('admin')varPwd=()('123456')#创建账户的标签labname=(my_window,text='用户名',justify=,bg='pink',width=80)(x=10,y=5,width=80,height=20)#创建文本框,同事设置关联变量enterName=(my_window,width=80,textvariable=varName)(x=100,y=5,width=80,height=20)#创建密码的标签和文本框labPwd=(my_window,text='密码',justify=,bg='pink',width=80)(x=10,y=30,width=80,height=20)enterPwd=(my_window,show='*',width=80,textvariable=varPwd)(x=100,y=30,width=80,height=20)#登录按钮事件处理函数deflogin():Name=()Pwd=()ifName=='admin'andPwd=='123456':'Pythontkinter',message='登录成功!!')else:'pythontkinter',message='登录失败')#创建按钮组件,并且设置按钮事件的处理函数buttonOK=(my_window,text='login',background='lightskyblue',command=login())(x=30,y=70,width=50,height=20)#取消按钮的时间处理函数defcancel():#清空用户输入的用户名和密码('')('')buttonCancel=(my_window,text='Cancel',background='lightgray',command=cancel())(x=100,y=70,width=50,height=20)#启动消息循环()18.请用Python语言编写一个简易的计算器程序。fromtkinterimport*reset=TruedefbuttonCallBack(event):
globallabel
globalreset
num=['text']
ifnum=='C':
label['text']="0"
return
ifnumin"=":
label['text']=str(eval(label['text']))
reset=True
return
s=label['text']
ifs=='0'orreset==True:
s=""
reset=False
label['text']=s+num#主窗口root=Tk()("计算器")#显示栏1label=Label(root,text="0",background="white",anchor="e")label['width']=35label['height']=2(row=1,columnspan=4,sticky=W)#按钮showText="789/456*+"foriinrange(4):
forjinrange(4):
b=Button(root,text=showText[i*4+j],width=7)
(row=i+2,column=j)
("<button-1>",buttonCallBack)showText="()"foriinrange(2):
b=Button(root,text=showText[i],width=7)
(row=6,column=2+i)
("<button-1>",buttonCallBack)b=Button(root,text="=")(row=6,columnspan=2,sticky="we")("<button-1>",buttonCallBack)()</button-1></button-1></button-1>19.请用Python语言编写一个简易的猜数字游戏程序。importrandomanswer=(1,10)print('猜数游戏')num=input('请输入你猜测的数字\n')guess=int(num)n=0whilen<2:ifguess==answerandn==0:print('么么哒。对啦')print('厉害了一次就对了')breakifguess<answer:print('不对哦,太小了')elifguess>answer:print('不对哦,太大了')elifguess==answer:print('么么哒。对啦')num=input('请你重新输入\n')guess=int(num)n=n+1ifn==1andguess==answer:print('可以哦,第二次就对了')breakelifn==2andguess==answer:print('还行,终于猜出来了')breakelifn==2andguess!=answer:print('不行哦,三次都不对')breakprint('游戏结束')20.请用Python语言编写一个简易的通讯录管理程序。mydic={}whileTrue:print("="*7,"通讯录管理系统","="*7)print("1.增加姓名和手机")print("2.删除姓名")print("3.修改手机号")print("4.查询所有用户")print("5.根据姓名查找手机号")print("6.退出")print("="*29)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年一建建筑实务考前考点梳理强化试卷及答案
- 2026规划摊位面试题及答案大全
- 2026护理级别面试题及答案
- 2026集体控股面试题目及答案
- 2026界面开发面试题及答案
- 保险AI监管技术标准体系
- 河南南阳市2025-2026学年高一下学期7月期末考试化学试题(含答案)
- 人工智能在保险理赔中的应用边界
- 2026江西南昌大学第二附属医院面向全球招聘病理科学 科带头人考试参考题库及答案详解
- 2026山东济宁市第三人民医院劳务派遣工作人员1人招聘笔试备考试题及答案详解
- 2026年合肥经开区公开招聘社区工作者100名笔试参考题库及答案详解
- 2026届浙江省九年级数学中考一模模拟试卷(含答案详解与评分标准)
- AI在生物学科教学中的应用
- 2026年幼儿园环境创设第一节的
- 2026年企业数据资源盘点与治理实施指南
- 2026年上海市松江区事业编单位人员招聘笔试备考题库及答案详解
- 北京中国民用航空适航审定中心2025年招聘事业单位工作人员笔试历年典型考点题库(附带答案详解)
- 2026福建兴泰开发投资有限公司正式员工招聘4人笔试题库含完整答案详解【考点梳理】
- 副高国土专业职称答辩题库
- 纪检机关查办案件分析报告
- 安徽精高水处理有限公司12.8万吨-年水处理剂系列产品项目环境影响报告书
评论
0/150
提交评论