![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python学习
♡-流浪孩
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #669 (Div. 2) ------ Ahahahahahahahaha
题目题意给你一个长度为n的数组,数组元素由0或1构成,你可以进行随意的删除操作,一次只能删除一个元素,最多操作次数不能超过n / 2次。操作后的结果就是:奇数位数字之和等于偶数位数字之和。最后输出剩余的数组元素题解由于题目没有规定说删除次数最少,所以直接找出特殊情况。如果题目里面0的个数大于等于n / 2, 那么直接保留n / 2个0即可,其余的都删除如果题目里面1的个数大于等于n / 2且数目为偶数,那么直接保留所有1即可,其余0删除;如果是奇数,则保留num(1的数目) - 1个1,这样就原创 2020-09-12 10:48:13 · 201 阅读 · 0 评论 -
数值分析入门------Numpy(ndarry数组)
一:数据的维度维度:一组数据的组织形式一维数据:采用线性组织(列表有序,集合无序)列表和数组:列表中数据类型可以不同,而数组数据类型必须相同二维数据: 一维数据的组合形式,表格(列表)多维数据由一维或者二维数据扩展而成(列表)高维数据(字典类型或数据表示格式)二:Numpy的数组对象一个强大的N维数组对象 ndarray引用:import numpy as npN维数组对象:ndarrayndarray在程序中别名就是array例: 计算A^2 + b^3 ,其中a和b是一维数组原创 2020-08-16 18:00:55 · 305 阅读 · 0 评论 -
爬虫实例------淘宝商品比价定向爬虫
功能描述目标:获取淘宝搜索页面的信息,提取其中商品的名称和价格理解: 获得淘宝的搜索接口, 翻页的处理技术路线:requests- re注意: 通过查取相关协议,发现淘宝不允许任何爬虫爬取相关页面程序设计爬取淘宝的页面信息,需要模拟淘宝登陆才可以代码:import requestsimport rekv = {'user-agent': 'Mozilla/5.0'}def getHTMLText(url): try: r = requests.get(url原创 2020-07-21 19:54:11 · 252 阅读 · 0 评论 -
Re(正则表达式)入门
正则表达式常用操作符经典正则表达式实例re库是python标准库,无需安装re库在表达正则表达式的时候string类型过于繁琐主要功能函数1.searchimport rematch = re.search(r'[1-9]\d{5}', 'BIT 100081')if match: print(match.group(0))2.matchimport rematch = re.match(r'[1-9]\d{5}', '100081 BIT')if mat原创 2020-07-21 17:10:44 · 411 阅读 · 0 评论 -
Beautiful Soup库
安装如果安装了anaconda的集成库,则不需要再次安装如果没有,则使用pip指令安装pip install beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple/查看源代码方法一:右键网页,查看源点方法二:使用requests库import requestsfrom bs4 import BeautifulSoupkv = {'user-agent' : 'Mozilla/5.0'}url = "https://bl原创 2020-07-07 14:31:36 · 143 阅读 · 0 评论 -
requests库网络爬虫------爬取实例(页面抓取,接口使用)
京东商品页面的爬取选取一个商品页面import requestsurl = "https://item.jd.com/100011333796.html#crumb-wrap"try: #更改头部信息,模拟浏览器访问 kv = {'user-agent': 'Mozilla/5.0'} r = requests.get(url, headers = kv) r.raise_for_status() r.encoding = r.apparent_encodi原创 2020-07-07 12:22:22 · 353 阅读 · 0 评论 -
python爬虫------requests库入门
requests库的安装pip指令安装pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple/安装成功,测试以访问百度为例用status检测状态码:如果状态码是200,访问成功,否则访问失败requests库的7个主要方法requests.request七种请求方法13个参数requests.get()requests.head()request.post()requests原创 2020-07-05 16:48:43 · 237 阅读 · 0 评论 -
python第三方库安装脚本
第三方库自动安装脚本代码:import os#这个列表中是安装的第三方库的名称libs = {“库1”, “库2”}try:for lib in libs:os.system("pip install " + lib + “-i https://pypi.tuna.tsinghua.edu.cn/simple/”)print(“Successful”)except:print(“Failed Somehow”)...原创 2020-07-05 14:50:08 · 170 阅读 · 0 评论 -
os库
os库基本介绍os库是python标准库,包含几百个函数常用路径操作、进程管理、环境参数等几类os库之路径操作import os.pathimport os.path as opos库之进程管理调用计算器程序import osos.system("c:\\Windows\\System32\\calc.exe")打开画图并指定一个参数,打开默认import osos.system("C:\\Windows\\System32\\mapaint.exe \原创 2020-07-05 14:41:43 · 245 阅读 · 0 评论 -
python思维练习------体育竞技分
问题分析高手过招,胜负只在毫厘之间用科学的方法分析体育竞技比赛输入:球员水平输出:可预测的比赛成绩比赛规则:设计程序总体框架代码from random import randomdef printIntro(): print("这个程序模拟两个选手A和B的某种竞技比赛") print("程序运行需要A和B的能力值(以0-1之间的小数表示)")def getInputs(): a = eval(input("请输入选手A的能力值:")) b = ev原创 2020-07-05 14:16:58 · 274 阅读 · 0 评论 -
实例:政府工作报告词云
一般词云代码:import jiebaimport wordcloudf = open("中国特色社会主义.txt", "r")t = f.read()f.close()Is = jieba.lcut(t)txt = " ".join(Is)w = wordcloud.WordCloud(font_path="msyh.ttc",\ width=1000,height=700,background_color="white",)w.generate(txt)w.to_file(原创 2020-07-03 19:08:37 · 436 阅读 · 0 评论 -
wordcloud 库
wordcloud 库(配安装失败解决方法)安装问题及使用问题解决cmd命令使用pip指令安装会出现许许多多的问题,此处介绍另一种安装方法安装anaconda然后配置环境在系统的用户环境中path中添加安装目录下的Scripts使用pycharm编译器,导入anaconda环境,然后在terminal下使用pip命令安装即可使用cmd命令行安装推荐使用清华源,防止出现pip超时问题https://pypi.tuna.tsinghua.edu.cn/simple/执行pip inst原创 2020-07-03 17:51:46 · 278 阅读 · 0 评论 -
数据格式化
数据格式化数据组织的维度一维数据,二维数据,多维数据(表格就是典型的多维数据)高维数据:数据的操作周期数据存储—数据表示—数据操作一维数据的表示列表类型可以表达一维有序数据for循环可以遍历数据,进而对每个数据进行处理如果数据间无序,可以使用集合类型集合类型可以表达一维无序数据for循环可以遍历数据,进而对每个数据进行处理一维数据的存储存储方式一:空格分隔 使用一个或多个空格分隔进行存储,不换行 缺点:数据中不能存在空格存储方式一:逗号分隔 使用英文半角逗号分隔数原创 2020-07-03 14:44:26 · 233 阅读 · 0 评论 -
实例: 自动轨迹绘制
基本需求读取一个文件,解析其中数据,绘制一个图形基本步骤1、定义数据文件格式(接口)2、编写程序,根据文件接口解析参数绘制图形3、编制数据文件数据接口定义编制代码import turtle as tt.title('自动轨迹绘制')t.setup(800, 600, 0, 0)t.pencolor("red")t.pensize(5)#数据读取datals = []f = open("data.txt")for line in f: #将最后的换行符转变为空字符串原创 2020-07-03 14:15:06 · 528 阅读 · 1 评论 -
python------文件的使用
文件的使用以文本形式打开一个文件fp = open("三国演义.txt", "r")print(fp.read())fp.close()以二进制形式打开一个文件打开方式选择rb即可fp = open("三国演义.txt", "rb")print(fp.readline())fp.close()源文件和文件同源可以省略文件的路径,直接使用文件名, 否则就要写路径吗,注意反斜杠的使用文件的打开模式常用的打开实例文件的关闭<变量名>.close()文件内容的读原创 2020-07-03 13:54:39 · 161 阅读 · 0 评论 -
实例:文本词频统计
文本词频统计英文词频统计def getText(): txt = open("hamlet.txt", "r", encoding='UTF-8').read() txt = txt.lower() #降噪,避免大小写的干扰 #用空格替换特殊符号 for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|},《》~’': txt = txt.replace(ch, " ") return txt原创 2020-07-01 16:44:52 · 999 阅读 · 0 评论 -
jieba库
jieba 库安装jieba库命令行模式下使用pip即可安装jieba分词原理jieba分词依靠中文词库利用一个中文题库,确定汉字直接的关联概率汉字间概率大的组成词组,形成分词结果除了分词,用户还可以添加自定义的词组jieba库使用说明三种分词模式...原创 2020-07-01 15:42:09 · 2048 阅读 · 0 评论 -
组合数据类型的实例------基本统计值计算
掌握多数据输入的方式掌握通过多函数通过数据传递的方式将一段复杂的功能分隔成很小的功能# 基本统计值计算def getNum(): #获取用户不定长度的输入 nums = [] iNumStr = input("请输入数字(回车退出):") while iNumStr != "": nums.append(eval(iNumStr)) iNumStr = input("请输入数字(回车退出):") ret原创 2020-07-01 15:11:17 · 268 阅读 · 0 评论 -
组合数据类型
组合数据类型集合的定义集合是多个元素的无序组合集合用{}表示,元素之间用逗号分隔集合中元素唯一,不存在相同元素建立集合类型需要用{}或set()建立空集合,必须使用set()A = {"python", 123, ("python", 123)}print(A)#由于存在2个p和y,所以生成集合之后相同的会被去掉B = set("pypy123")print(B)由上可以看出,生成的集合并不是按照顺序来保存集合的运算增强操作符集合处理方法A = {"py", "原创 2020-07-01 14:55:10 · 312 阅读 · 0 评论 -
科赫雪花绘制小包裹
科赫曲线绘制递归思想:函数加分支递归链条:线段的组合递归基例:初始线段#科赫雪花绘制小包裹import turtle as tudef koch(size, n): if n == 0: tu.fd(size) else: for angle in [0, 60, -120, 60]: tu.left(angle) koch(size / 3, n - 1)def main(): tu.se原创 2020-06-30 22:33:23 · 166 阅读 · 0 评论 -
PyInstaller 库(第三方库)
PyInstaller 库(第三方库)第三方库的安装 pip指令由于是第三方库,所以需要提前安装官方网址:http://www.pyinstaller.org/使用命令行安装(注意:学会这个方法可以随时更新自带的库)pip工具pip + install + 需要安装的库的名(回车开始安装)等待安装,安装之后出现successfully installed即安装成功用途使用说明注意:pyinstaller是命令行的执行程序,不是python下的执行指令首先进入.py文件所在的文件夹原创 2020-06-30 21:33:08 · 344 阅读 · 0 评论 -
函数及递归调用实例(递归翻转字符串和汉诺塔问题)
函数可变参数传递例:求n的阶乘和某一些数的乘积def fact(n, *b): s = 1 for i in range(1, n + 1): s *= i for item in b: s *= item return sprint(fact(10, 3, 5, 8))返回值return 可以返回多个结果, 也可以不返回结果def fact(n, m = 1): s = 1 for i in range(1原创 2020-06-30 20:47:05 · 156 阅读 · 0 评论 -
七段数码管的绘制
七段数码管的绘制# 七段数码管绘制实例import turtle as tudef drawLine(draw): #绘制单段数码管 tu.pendown() if draw else tu.penup() tu.fd(40) tu.right(90)def drawDight(dight): #根据数字绘制七段数码管 drawLine(True) if dight in [2, 3, 4, 5, 6, 8, 9] else drawLine(Fal原创 2020-06-30 19:00:16 · 282 阅读 · 0 评论 -
圆周率的计算
pi = 0N = 100#代码在一行中无法完全表达,可以使用\来换行for k in range(N): pi += 1 / pow(16, k) * (\ 4 / (8 * k + 1) - 2 / (8 * k + 4) - \ 1 / (8 * k + 5) - 1 / (8 * k + 6))print("圆周率值是:{}".format(pi))蒙特卡罗方法from random import randomfrom time impor.原创 2020-06-29 16:07:01 · 131 阅读 · 0 评论 -
random 库
random 库基本随机数函数import random# 产生 1 到 10 的一个整数型随机数print(random.randint(1, 10))# 产生 0 到 1 之间的随机浮点数print(random.random())# 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数print(random.uniform(1.0, 8.8))# 从序列中随机选取一个元素print(random.choice([1, 2, 3, 4, 5, 6, 7, 8, 9, 1原创 2020-06-29 15:53:46 · 134 阅读 · 0 评论 -
程序的控制结构
程序的控制结构分支结构guess = eval(input())if guess == 99 or guess == 77: print("猜对了")elif guess == 88: print("多分支结构")else: print("多分支结构2")if True: print("yes")else: print("永远不会被执行")条件判断异常处理先执行语句1,发生异常执行语句2,如果不发生异常,则不执行语句2增加异常类型标记,原创 2020-06-29 15:39:23 · 129 阅读 · 0 评论 -
python分支结构实例------身体质量指数BMI
学习体会:学会多个数据输入多个数据同时赋值的另一种方法#接收多个输入的方法, 中间用逗号隔开height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))bmi = weight / pow(height, 2)print("BMI 数值为:{:.2f}".format(bmi))who, nat = "", ""if bmi < 18.5: who, nat = "偏瘦", "偏瘦"elif 18.5 <= bmi <原创 2020-06-29 15:15:19 · 1638 阅读 · 0 评论 -
time库的简单应用 ------ 文本进度条
单以的进度条执行效果如图:代码:#文本进度条.py by@dingzeyuanimport time as tscale = 10print("------执行开始------")for i in range(scale + 1): a = '*' * i; b = '.' * (scale - i) c = (i / scale) * 100 print("{:^3.0f}%[{}->{}]".format(c, a, b)) t.sleep(原创 2020-06-28 17:48:18 · 156 阅读 · 0 评论 -
time库
time库time库的三类函数时间获取第一种方法是指从1970年1月1日0点0分开始到当前时间为止以秒为单位的时间时间格式化格式化内部时间,只有在特定的程序之中才能用到程序计时应用原创 2020-06-28 16:38:23 · 103 阅读 · 0 评论 -
基本数据类型
基本数据类型整数浮点数浮点数小数精度和取值范围都存在限制,但是对于常规计算可以忽略存在不确定尾数,但不是bug,例如: 0.1 + 0.2 = 0.30000000000000004round(x, d):对x四舍五入,d是小数截取位数浮点数间运算比较需要用round函数辅助 因为不确定尾数一般发生在小数点16位后左右科学计数法 用e或E复数只有python中有复数的概念数值运算操作符数值运算函数实例:天天向上解决代码:#By dingzeyuan 天天向上原创 2020-06-28 16:17:49 · 144 阅读 · 0 评论 -
turtle(海龟) 库
turtle(海龟) 库turtle 的空间坐标turtle 的角度坐标利用goto绘图实例,绘制蛇代码如下:import turtle # import turtle as tu 可以起小名turtle.setup(650, 350, 0, 0) #前两个参数是窗口大小(宽, 高),后两个是窗口位置turtle.penup() #抬笔, 无痕turtle.bk(250)#bk向反方向运动, fd向前方运动 此处等价于fd(-250)turtle.pendown()turtle原创 2020-06-28 12:59:31 · 1388 阅读 · 0 评论