Python
Jock2018
珞珈学子,公众号“每日学一技”。
展开
-
C 语言和 Python 在取余操作上的异同
这篇文章主要介绍 C 语言和 Python 在取余操作上的异同。阅读本文预计需要 6 分钟。C 语言和 Python 在取余操作上的异同前言C 语言和 Python 中的取余算法向 0 取整 VS 向负无穷取整C 语言中的除法和取余测试Python 中的除法和取余测试小结后记参考资料前言最近在重新学习 C 语言时,发现C语言和 Python 在涉及负数%取余运算时,结果有所不同,意识到自...原创 2020-02-20 23:04:32 · 1251 阅读 · 2 评论 -
Python3实现希尔排序
Python3实现希尔排序原理思路代码实现普通版本优化后的版本小结项目地址原理思路希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序的实质就是分组插入排序。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再...原创 2019-05-07 10:20:00 · 602 阅读 · 0 评论 -
【测验6 编程题】: 组合数据类型 (第6周)
第一题 数字不同数之和描述获得用户输入的一个整数N,输出N中所出现不同数字的和。...原创 2019-05-21 17:00:24 · 13957 阅读 · 5 评论 -
【测验7 编程题】: 文件和数据格式化 (第7周)
第一题 文本的平均列数描述打印输出附件文件的平均列数,计算方法如下:...原创 2019-06-11 14:23:02 · 10129 阅读 · 2 评论 -
【测验8 编程题】: 程序设计方法学 (第8周)
第一题 英文字符的鲁棒输入描述获得用户的任何可能输入,将其中的英文字符进行打印输出,程序不出现错误。输入输出示例仅给出输出格式示例,非正确答案。输入输出*&^123abc...原创 2019-06-11 15:33:15 · 12604 阅读 · 8 评论 -
【测验9 编程题】: Python计算生态纵览 (第9周)
第一题 系统基本信息获取描述获取系统的递归深度、当前执行文件路径、系统最大UNICODE编码值等3个信息,并打印输出。...原创 2019-06-11 16:36:32 · 10447 阅读 · 0 评论 -
基于Python3实现两个矩形的交并比(IoU)
基于Python3实现两个矩形的交并比(IoU)一、前言二、交并比的概念及应用矩形的面积 = (xmax -xmin) X (ymax - ymin)IoU = $\frac{area(G)∩area(P)}{area(G)∪area(P)}$area(G∩P) = 长 X 宽w = xmax - xmin # 计算相交矩形的长h = ymax - ymin # 计算相交矩形的宽area(G∩...原创 2019-06-17 14:01:35 · 8236 阅读 · 2 评论 -
【期末测验】: 课程水平综合测验 (第10周)
第一题 无空隙回声输出描述获得用户输入,去掉其中全部空格,将其他字符按收入顺序打印输出。输入输出示例输入输出Alice+ BobAlice+Bob解答代码思路:清洗字符串...原创 2019-06-11 21:37:53 · 26191 阅读 · 19 评论 -
Python os.rename()和os.renames()用法的区别
Python os.rename和os.renames用法的区别1. 前言2. os.rename 和os.renames()2.1 官方的文档2.2 用法比较2.2.1 os.rename(oldpath,newpath)2.2.2 os.renames(oldpath, newpath)3. 小结4. 参考文献1. 前言今天看了os和os.path模块的官方文档,其中os.rename()...原创 2019-07-21 12:50:24 · 11553 阅读 · 3 评论 -
Python批量命名某目录下的所有图片名字
Python批量命名某目录下的所有图片名字1. 需求2. Python解决需求2.1 文件遍历的方法2.2 文件重命名2.3 需求分析2.4 Python代码实现2.5 程序的扩展3. 参考文献1. 需求在实验过程中,我们会拍摄很多照片,这时就会遇到需要大量重命名照片的情况。比如我们有10个组,每个组有10只鼠,每只鼠要拍至少5张照片,要求每张照片以1-1,1-2…2-1,2-2…10-1,1...原创 2019-07-21 15:30:29 · 3798 阅读 · 1 评论 -
Python os和os.path模块常用方法小结
Python os和os.path模块常用方法小结1. 前言2. 文件存在性判断3. 创建文件路径4. 路径拼接5. 路径拆分6. 文件遍历7. 文件重命名8. 小结9. 参考文献1. 前言这两天因为要完成一个小任务,批量重命名图片。所以就再学习了一下os和os.path模块,发现其中的一些方法很常见且有用,所以就按照判断文件存在性判断、创建文件路径、路径拼接、路径拆分、文件遍历、文件重命名等...原创 2019-07-21 15:35:57 · 687 阅读 · 0 评论 -
利用Python爬取中国科学技术部人类遗传资源管理7000+数据
利用Python爬取中国科学技术部人类遗传资源管理7000+数据一、需求分析1. 目的2. 需求分析方法一方法二二、爬虫实现1. 整体思路2. 抓取每张表格的网址3. 抓取每张表格的网页4. 解析爬取到的网页5. 保存数据到Excel6. 完整代码三、总结一、需求分析1. 目的把中国科学技术部网站下,科技部门户 > 办事服务 > 行政许可 > 人类遗传资源管理 > 结...原创 2019-08-02 22:22:05 · 854 阅读 · 0 评论 -
【Error】解决Python安装库时报错:Microsoft Visual C++ 14.0 is required问题
【Error】解决Python安装库时报错:Microsoft Visual C++ 14.0 is required问题1. 前言2. 解决办法2.1 通过conda来安装2.2 通过二进制安装2.3 其他的一些升级尝试方法(不一定都奏效)3. 参考资料1. 前言本文主要是小结一下Python库安装的一些经验和坑,如果大家有好的方法,欢迎留言,我好修改文章,方便更多的人少踩坑。通常我们安装P...原创 2019-08-28 00:18:10 · 3333 阅读 · 2 评论 -
Python实现十进制和二进制、八进制、十六进制的相互转换
Python实现十进制和二进制、八进制、十六进制的相互转换1. 前言2. 实现思想2.1 十进制转换为其他进制2.2 其他进制转换为十进制3. 参考资料1. 前言此文方便后期的复习,如果有问题,欢迎批评指正。2. 实现思想2.1 十进制转换为其他进制原理:除以进制数(base)取余,逆序输出。举例:将16转换为2进制形式16除以2取余,得到余数0,存入结果(这个是最低位,将16/...原创 2019-09-24 22:43:08 · 3887 阅读 · 0 评论 -
Python查看某个模块or方法的使用方法
Python查看某个模块or方法的使用方法1. dir()方法2. help()方法查看3. random.\__file__4. ?function5. 官网6. github源代码1. dir()方法dir(module or function_name)import randomdir(random)2. help()方法查看import randomhelp(random)...原创 2019-09-24 22:45:34 · 1486 阅读 · 0 评论 -
【08】排序(上):为什么插入排序比冒泡排序更受欢迎?
08排序(上):为什么插入排序比冒泡排序更受欢迎?1. 排序方法与复杂度归类2. 如何分析一个“排序算法”?3. 冒泡排序3.1. 排序原理3.2. 代码实现(Python)3.3. 性能分析4. 有序度&无序度&满有序度5. 插入排序5.1. 插入排序原理5.2. 代码实现5.3. 性能分析6. 选择排序6.1. 选择排序原理6.2 代码实现6.3 选择排序性能分析7. 思考8....原创 2019-10-06 12:17:44 · 2121 阅读 · 1 评论 -
【09】排序(下):如何用快排思想在O(n)内查找第K大元素?
09 排序(下):如何用快排思想在O(n)内查找第K大元素?1. 分治思想2. 归并排序3. 快速排序4. 归并排序与快速排序的区别5. 思考6. 参考资料7. 声明1. 分治思想分治思想:分治,顾明思意,就是分而治之,将一个大问题分解成小的子问题来解决,小的子问题解决了,大问题也就解决了。分治与递归的区别:分治算法一般都用递归来实现的。分治是一种解决问题的处理思想,递归是一种编程技巧。...原创 2019-10-06 20:04:09 · 478 阅读 · 0 评论 -
Python3实现快速排序
Python3实现快速排序原理思路代码实现通用版本实战中的版本Pythonic版本小结项目地址原理思路快速排序也是分而治之思想的典范,通过递归解决问题。思路:1. 找到简单的基线条件(递归出口);2. 确定如何缩小问题的规模,使其符合基线条件。详细的原理可以参考 这篇文章坐在马桶上看算法:快速排序步骤归纳:排序数组为collection,游标left从a的最左边开始,游标right从最...原创 2019-05-05 19:23:09 · 1737 阅读 · 0 评论 -
【测验5 编程题】: 函数和代码复用 (第5周)
第一题 随机密码生成描述补充编程模板中代码,完成如下功能:...原创 2019-04-18 21:50:18 · 31556 阅读 · 23 评论 -
【测验4 编程题】: 程序的控制结构 (第4周)
第一题 四位玫瑰数描述四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。...原创 2019-04-14 19:13:04 · 13329 阅读 · 13 评论 -
VMware 虚拟机下给新装的CentOS7安装Python3.7.2
VMware 虚拟机下给新装的CentOS7安装Python3.7.21. 安装环境2. 备份CentOS73. 安装相关包4. 下载python3.7.2的源码包5. 编译python3源码包6. 添加软链接7. 更改yum设置,因为要用python2才能执行,否则无法使用yum8. 参考资料9. 后记1. 安装环境虚拟机:VMware Pro12Linux版本:Centos 7 注意我安...原创 2019-01-12 16:01:18 · 3439 阅读 · 3 评论 -
Python中回文数和质数问题的解决
Python中回文数和质数问题的解决一、前言二、实现判断素数的功能三、实现判断回文数的功能五、总结一、前言今天学习视频时课后作业是找出1000以内既是素数又是回文数的数,写代码这个很容易,结果一运行遇到了bug,输出结果跟预期不一样,调试了快30min,再接着一通搜索和回看视频才发现问题所在。所以特地写下来,方便以后查看。问题的关键是判断素数过程中for…else的用法上(具体看后面代码)二...原创 2019-01-24 15:58:48 · 7604 阅读 · 0 评论 -
用Python调戏九九乘法表
用Python调戏九九乘法表1、目标2. 打印九九乘法表完整部分3. 打印九九乘法表左下部分3. 打印九九乘法表右上部分4. 打印九九乘法表左上部分5. 打印九九乘法表右下部分6. 打印九九乘法表的对角线7. 打印九九乘法表除了对角线部分8. 打印九九乘法表四分之一部分1、目标打印乘法表的不同区域:完整的、左下部分、右上部分、左上部分、右下部分,四分之一部分,二分之一部分等等玩这个的目的一...原创 2019-01-24 16:55:38 · 3065 阅读 · 1 评论 -
浅谈Python3中访问变量的顺序问题及global和nonlocal关键字的用法
浅谈Python3中访问变量的顺序问题及global和nonlocal关键字的用法一、前言二、全局变量和局部变量三、变量调用的顺序四、global和nonlocal用法五、实例演示一、前言今天在看看学习视频时,忽然记不起nonlocal的用法,然后就翻书和搜索,顺带去翻看了help文档,发现里面讲的很清楚。所以分享如下,可能有些地方理解有点偏颇,所以有些会放官方文档的部分出来,说的不对的地方,...原创 2019-01-24 23:18:56 · 607 阅读 · 0 评论 -
Python3实现汉诺塔问题
Python3实现汉诺塔问题一、思路二、Python3代码实现三、总结四、参考资料一、思路总结归纳为以下3步:把x上的n-1个盘子借助z,移动到y上把x上最下面的盘子移动到z上最后把y上的n-1个盘子借助x移动到,z上,大功告成递归出口:n=1时,直接从x移动到z上二、Python3代码实现# Python3递归实现汉诺塔游戏def hannota(n,x,y,z): # n...原创 2019-01-25 11:30:31 · 1956 阅读 · 0 评论 -
Python3实现十进制转为其它进制
Python3实现十进制转为其它进制一、Python3迭代方法实现十进制转为其它进制二、Python3递归方法实现十进制转为其它进制三、参考资料一、Python3迭代方法实现十进制转为其它进制利用连续相除法, 保存商和余数,直到商为0为止,再将余数反转。用列表a=[0,1,2,3,4,5,6,7,8,9,’A’,’b’,’C’,’D’,’E’,’F’]储存转换之后的每一位,直接用余数作为指针...原创 2019-01-25 15:37:09 · 6400 阅读 · 1 评论 -
Python3实现斐波那契数列.md
Python3实现斐波那契数列一、Python3迭代方法实现斐波那契数列二、Python3递归方法实现斐波那契数列三、总结规律斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610…规律特点是:n>2,时,后一个数是前两个数之和。一、Python3迭代方法实现斐波那契数列版本一# Python3迭代方法实现斐波...原创 2019-01-25 16:33:18 · 1822 阅读 · 0 评论 -
学习笔记之——Python中类和对象的理解
学习笔记之——Python中类和对象的理解一、 面向对象的含义和特性二、类1. Python中类的定义、结构、创建1. Python类的定义2. Python类的结构3. 类的创建4. 类的属性5. 类的方法三、对象1. 对象的创建四、参考资料这个还有待完善。一、 面向对象的含义和特性面向对象是将世界中的具体事物进行抽象,从而能够更好的帮助我们归纳总结,解决复杂问题的一种解决问题的思路。面...原创 2019-01-16 20:26:13 · 14903 阅读 · 7 评论 -
爬虫实战一基于Python3的urllib+re模块爬取糗事百科
爬虫实战一基于Python3的urllib+re模块爬取糗事百科一、目标二、设计思路三、直接上代码四、一些小结一、目标抓取糗事百科上的段子实现每按一次回车显示一个段子的页数、发布人,好笑数,评论数,内容。二、设计思路本爬虫是基于崔庆才大佬的博客迁移而来,可以说是用python3把原教程重新实现了一次。具体过程参照点这里主要的改变在于:删去了过滤图片的部分代码,因为网站发生了变化...原创 2019-03-15 17:39:02 · 496 阅读 · 0 评论 -
Python3中实现一行输入多个数字并进行赋值
Python3中实现一行输入多个数字并进行赋值1. input()和str.split()2. map(fun,seq)和列表推导式方法一:利用map(fun,seq)函数(推荐)方法二:利用列表推导式参考学习后给出两个解决办法。1. input()和str.split()首先input()函数返回的是一个字符串,如果你需要的不是数字,而是赋值字符串的话,你可以这样写:a,b,c = inp...原创 2019-03-26 22:20:19 · 27578 阅读 · 3 评论 -
Python3读取大文件的方法
Python3读取大文件的方法1. 方法一:利用yield生成器2. 方法二:利用open()自带方法生成迭代对象,这个是一行一行的读取3. 二者的比较1. 方法一:利用yield生成器def readPart(filePath, size=1024, encoding="utf-8"): with open(filePath,"r",encoding=encoding) as f:...原创 2019-03-27 20:41:47 · 10715 阅读 · 0 评论 -
【测验1 编程题】: Python基本语法元素 (第1周)
@[TOC](测验1: Python基本语法元素 (第1周))第一题 Hello World的条件输出描述获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:如果输入值是0...原创 2019-04-10 21:46:55 · 20922 阅读 · 1 评论 -
爬虫入门学习(七)IP学习与代理池构建
爬虫入门学习(七)IP学习与代理池构建 1 IP简介2 IP被封的原因3 应对IP被封的策略3.1 伪造User-Agent3.2 设置线程等待sleep()3.3 伪造Cookies3.4 使用代理4 抓取西刺代理,并构建自己的代理池5. 参考资料1 IP简介互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Addre...原创 2019-04-12 13:52:53 · 758 阅读 · 0 评论 -
Python3.7中time模块的time()、perf_counter()和process_time()的区别
Python3.7中time模块的time方法、perf_counter方法和process_time方法的区别1. time.time()方法2. time.perf_counter()方法3. time.process_time()方法4. 三者比较5 测试代码6 写在最后1. time.time()方法返回自纪元以来的秒数作为浮点数,但是时期的具体日期和闰秒的处理取决于使用的平台。比如:...原创 2019-04-13 12:59:25 · 75604 阅读 · 11 评论 -
【测验2 编程题】: Python基本图形绘制 (第2周)
第一题 turtle八边形绘制描述使用turtle库,绘制一个八边形。注意:这是一个自动评阅题目,请补充"编程模板"中横线内容。...原创 2019-04-14 17:25:54 · 6907 阅读 · 0 评论 -
【测验3 编程题】: 基本数据类型 (第3周)
第一题 平方根格式化描述获得用户输入的一个整字,a,计算a的平方根,保留小数点后3位,并打印输出。输出结果采用宽度30个字符、右对齐输出、多余字符采用加号(+)填充。...原创 2019-04-14 17:55:39 · 15946 阅读 · 3 评论 -
Windows下Python IDLE背景色与语法高亮主题配置、行号显示、设置清屏
Windows下Python IDLE背景色与语法高亮主题配置、行号显示、设置清屏一、Python IDLE背景色与语法高亮主题配置二、IDLE行号设置三、IDLE清屏设置参考来源一、Python IDLE背景色与语法高亮主题配置在C:\Users\admin目录下新建.idlerc文件夹,然后再在里面新建文件config-highlight.cfg,并加入如下内容:[Tango]defi...原创 2019-01-12 13:56:21 · 3644 阅读 · 0 评论