实现一个支持动态扩容的数组并完成其增删改查#通过python实现动态数组"""数组特点:占用一段连续的内存空间,支持随机(索引)访问,且时间复杂度为O(1)添加元素时间复杂度:O(n)删除元素时间复杂度:O(n)"""classArr:def__init__(self,capacity=10):"""构造函数:paramcapacity:数组最大容量,不指定的话默认为10"""self._capacity=capacityself._size=0#数组有效
系统 2019-09-27 17:52:16 1949
经典的汉诺塔问题:这里我们可以利用递归的思想去做,递归中重要的三步,我们逐条来实现:1、函数+分支结构2、递归链条3、递归基例函数+分支结构:defhanoi(n,start,end,mid):globalcountif:else:这里我们可以定义一个函数,里面的参数有:一共有n个圆盘,从start柱子移到end柱子,中间柱子为mid。这里定义一个全局变量来计算移动的步骤数,若为局部变量,会在函数内部不断初始化,所以需要定义全局变量。递归基例:ifn==1
系统 2019-09-27 17:52:07 1949
目录1.分支结构1.1初步介绍1.2使用案例1.3练习2.循环结构1.1初步介绍1.2使用案例1.分支结构1.1初步介绍至今,我们所写的Python代码都是顺序执行,但是有时候在代码中是需要进行逻辑判断的,比如用户输入用户名和密码,输入正确则验证通过,否则即验证失败。这个时候就会产生两个分支,而且两个分支只会有一条分支会走下去。当然,还有很多类似的场景,我们将这种结果称为"分支结构"或“选择结构”。语法格式:ifxxx1:事情1elifxxx2:事情2el
系统 2019-09-27 17:51:46 1949
基本功能是有一架飞机,可以通过键盘控制使其左右移动,并且喷射子弹。在飞机上方有一群外星人,也在左右移动着,被子弹击中的外星人消失。效果图如下:设计思路:1)Ship类,Bullet类,Alien类分别表示飞船,子弹,外星人的基本信息,例如飞机和外星人图像存储位置,生成子弹的位置。ship.pyimportpygameclassShip():"""docstringforship"""def__init__(self,ai_settings,screen):
系统 2019-09-27 17:51:16 1949
第1题:python下多线程的限制以及多进程中传递参数的方式?python多线程有个全局解释器锁(globalinterpreterlock),简称GIL,这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython。这个锁的意思是任一时间只能有一个线程运用解释器,跟单cpu跑多个程序一个意思,我们都是轮着用的,这叫“并发”,不是“并行”。为什么会有GIL?多核CPU的出现
系统 2019-09-27 17:50:37 1949
Python装饰器,分两部分,一是装饰器本身的定义,一是被装饰器对象的定义。一、函数式装饰器:装饰器本身是一个函数。1.装饰函数:被装饰对象是一个函数[1]装饰器无参数:a.被装饰对象无参数:复制代码代码如下:>>>deftest(func):def_test():print'Callthefunction%s().'%func.func_namereturnfunc()return_test>>>@testdefsay():return'hellowor
系统 2019-09-27 17:50:21 1949
open()方法Pythonopen()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSError。注意:使用open()方法一定要保证关闭文件对象,即调用close()方法。open()函数常用形式是接收两个参数:文件名(file)和模式(mode)。open(file,mode='r')完整的语法格式为:open(file,mode='r',buffering=-1,encoding=No
系统 2019-09-27 17:49:56 1949
在开发一些需要网络通信的应用中,经常会用到各种网络协议进行通信,博主在开发实验室的机器人的时候就遇到了需要把机器人上采集到的图片传回服务器进行处理识别,在python下的实现方式如下(只贴出了关键代码)服务器端LOCAL_IP='192.168.100.22'#本机在局域网中的地址,或者写127.0.0.1PORT=2567#指定一个端口defserver():sock=socket.socket(socket.AF_INET,socket.SOCK_ST
系统 2019-09-27 17:49:31 1949
Python入门之软件开发规范1、软件开发规范--分文件(1)为什么使用软件开发规范:当几百行--大几万行代码存在于一个py文件中时存在的问题:不便于管理修改可读性差加载速度慢这时可以使用软件开发规范,规范项目目录结构,规范代码,遵循PEP8规范,能够更加清晰,合理的开发。(2)软件开发规范--约定俗称<1>bin--启动文件(启动接口)start.py项目启动<2>lib--公共文件(大家需要的功能)commom.py放置一些常用的公共组件函数,像是服务
系统 2019-09-27 17:49:27 1949
循环结构的应用场景如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令。当然你可能已经注意到了,刚才的描述中其实不仅仅有需要重复的动作,还有我们上一个章节讲到的分支结构。再举一个简单的例子,比如在我们的程序中要实现每隔1秒中在屏幕上打印一个"hello,world"这样的字符串并持续一个小时,我们肯定不能够将print('hello,world')这
系统 2019-09-27 17:49:22 1949