- 军军小站|张军博客
拥有Python标签的文章
Python

python实现五子棋人机对战游戏

本文代码基于python3.6和pygame1.9.4。五子棋比起我之前写的几款游戏来说,难度提高了不少。如果是人与人对战,那么,电脑只需要判断是否赢了就可以。如果是人机对战,那你还得让电脑知道怎么下。我们先从简单的问题来看。开端画棋盘首先肯定是要画出棋盘来,用pygame画出一个19×19或15×15的棋盘并不是什么难事,这在之前的文章中已经多次用到,就不赘述了。画棋子需要说一下的是画棋子,因为没找到什么合适的棋子图片,所以只要自己来画棋子。我们用pyg

系统 2019-09-27 17:48:42 2409

Python

Python 通过打码平台实现验证码的实现

在爬虫时,经常遇到登录需要验证码的情况,简单的验证码可以自己解决,复制的验证码需要借助机器学习,有一定的难度。还有一个简单的方案就是采用付费的打码平台。比如R若快(http://www.ruokuai.com/client),还有云打码平台(http://www.yundama.com/price.html)下面以R若快为例介绍打码平台的思路:R若快平台需要注册两个用户,一个是普通用户,一个开发者用户,1、首先验证码截图,就是截取网站上登录页面的验证码图片

系统 2019-09-27 17:56:53 2408

Python

python-opencv在有噪音的情况下提取图像的轮廓实例

对于一般的图像提取轮廓,介绍了一个很好的方法,但是对于有噪声的图像,并不能很好地捕获到目标物体。比如对于我的鼠标,提取的轮廓效果并不好,因为噪声很多:所以本文增加了去掉噪声的部分。首先加载原始图像,并显示图像img=cv2.imread("temp.jpg")#载入图像h,w=img.shape[:2]#获取图像的高和宽cv2.imshow("Origin",img)然后进行低通滤波处理,进行降噪blured=cv2.blur(img,(5,5))#进行滤

系统 2019-09-27 17:53:51 2408

Python

详解Python字符串切片

在python中,我们定义好一个字符串,如下所示。在python中定义个字符串然后把它赋值给一个变量。我们可以通过下标访问单个的字符,跟所有的语言一样,下标从0开始(==,我自己都觉得写的好脑残了)这个时候呢,我们可以通过切片的方式来截取出我们定义的字符串的一部分。使用切片的时候我们有两种方式:1.没有步长的简单切片语法格式是这样的:1.首先定义一格字符串,比如叫Hebe,然后给它赋值2.截取字符串中的一部分,我们用的语法是Hebe[start:stop]

系统 2019-09-27 17:53:25 2408

Python

python递归法实现简易连连看小游戏

问题:简单版连连看小游戏一个分割成w*h个正方格子的矩形板上,每个正方格子可以有游戏卡,也可以没有游戏卡两个游戏卡之间有一条路径相连需满足以下三个条件:1.路径只包含水平和垂直的直线段2.路径不能穿过别的游戏卡片3.允许路径临时离开矩形板输入要求:第一行包括两个整数:w和h;w:矩形板的宽度,h:矩形板的长度下面h行,每行包括w个字符,表示矩形板上卡片的分布情况:'X'代表这个地方有卡片;'O'代表无卡片之后一行包括4个整数:X1,Y1,X2,Y2(1<=

系统 2019-09-27 17:49:57 2408

Python

Python中的深拷贝和浅拷贝

一、赋值1、在python中,对象的赋值就是简单的引用,a=[1,2,3],b=a,在上述情况下,a和b是一样的,他们指向同一片内存,b不过是a的别名,是引用,我们可以使用bisa去判断,返回True,表名他们地址相同内容也相同,也可以使用id()函数来查看.看两个列表地址是否相同。2、赋值操作(包括对象作为参数、返回值),不会开辟新的内存空间,他只是赋值了对象的引用.也就是除了b这个名字之外,没有其他的内存开销,修改了a也就影响了b,修改了b,也就影响了

系统 2019-09-27 17:56:57 2407

Python

Python中的choice()方法使用详解

choice()方法从一个列表,元组或字符串返回一个随机项。语法以下是choice()方法的语法:choice(seq)注意:此函数是无法直接访问的,所以我们需要导入random模块,然后我们需要使用random对象来调用这个函数。参数seq--这可能是一个列表,元组或字符串...返回值该方法返回一个随机项。例子下面的例子显示了choice()方法的使用。#!/usr/bin/pythonimportrandomprint"choice([1,2,3,5,

系统 2019-09-27 17:47:37 2407

Python

Python环境搭建及pycharm使用参考链接

说明:python环境搭建一共包含两部分--python解释器安装、python编辑器安装python解释器安装参考链接:Python3环境搭建python编辑器安装--pycharm参考链接:PyCharm安装教程(Windows)pip安装与使用参考链接:Pythonpip安装与使用--包含pip使用的常见命令注:在安装package时,如果提示pip非最新版本,且使用命令pipinstall-Upip不奏效,使用如下命令:pipinstall--us

系统 2019-09-27 17:53:56 2406

Python

如何用python生成自己的比特币私钥

在加密货币中,私钥允许用户访问其钱包。持有私钥的人完全控制该钱包中数字货币。出于这个原因,你应该保守秘密。如果你真的想自己生成密钥,那么以安全的方式生成密钥是有意义的。在这里,我将介绍私钥,并向你展示如何使用各种加密函数生成自己的密钥。我将在Python中提供算法和代码的描述。我需要生成私钥吗?大多数时候你没有。例如,如果你使用Coinbase或Blockchain.info等网络钱包,他们会为你创建和管理私钥。交易所也是如此。移动和桌面钱包通常也会为你生

系统 2019-09-27 17:48:40 2406

Python

Python 数据类型--数字型

一、Python数据类型介绍Python数据类型可分为:数字型和非数字型数字型整型(int)浮点型(float)布尔型(bool)真(True)假(False)复数型(complex)主要用于科学计算非数字型字符串(str)列表(list)元组(tuple)字典(dict)在Python中,所有的非数字类型变量,都有一个共同的特点:都是一个序列,可以理解为容器二、数字类型在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-214

系统 2019-09-27 17:48:36 2406

Python

python里将list中元素依次向前移动一位

问题定义一个int型的一维数组,包含10个元素,分别赋值为1~10,然后将数组中的元素都向前移一个位置,即,a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。解决(Python)#!/usr/bin/envpython#coding:utf-8defahead_one():a=[iforiinrange(10)]b=a.pop(0)a.append(b)returnaif__name__=="__main__

系统 2019-09-27 17:38:22 2406

Python

python 回调函数和回调方法的实现分析

回调与事件驱动回调函数有比较重要的意义:它在是事件驱动的体现我们试想一个场景,如果我们触发了某个事件,比如点击事件那么只要给这个点击事件绑定一个或多个处理事件,也就是回调函数我们就可以在点击事件被触发后(结束后)调用相应的方法来处理后事比如普通回调#在函数中使用回调defclick(callback):eval(callback)()#eval()可以讲字符串解析成可以执行的代码defhandle:print'在点击事件结束后调用该函数,进行处理,比如弹出

系统 2019-09-27 17:37:44 2406

Python

python实现批量修改服务器密码的方法

求:机房、线上有多台主机,为了保障安全,需要定期修改密码。若手动修改,费时费力易出错。程序应该满足如下需求:1、在现有的excel密码表格,在最后一个字段后面生成新的密码,另存为一个新的excel密码文件2、根据新的excel密码文件,更新服务器密码,将更新后的结果保存到另外一个excel文件。a、原始excel文件字段格式,最后一个字段为原始密码IPUSERPORTpwdb、生成新的密码文件字段格式,最后一个字段为更新密码IPUSERPORTpwdpwd

系统 2019-09-27 17:57:53 2405

Python

Python生成一个迭代器的实操方法

Python怎么生成一个迭代器,对于需要处理大型数据来说,迭代器是必不可少的,这样可节省大量内存空间,更加合理操作数据。首先我们打开编辑器,这里以Sublimetext3作为示范,创建一个新的py文档。rg=range(100)foriinrg:print(i)我们知道range可以涵盖比较广的范围,但是如果数据太大的时候,一次性打印会占用比较多内存。rg=range(100)rg_iter=iter(rg)print(rg_iter)那么这个时候我们就可

系统 2019-09-27 17:37:47 2405