自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 LeetCode 1280.学生们参加各科测试的次数【简单】

学生表:Students+---------------+---------+| Column Name | Type |+---------------+---------+| student_id | int || student_name | varchar |+---------------+---------+主键为 student_id(学生ID),该表内的每一行都记录有学校一名学生的信息。科目表:Subjects+--------------+--

2021-09-15 20:58:06 280

原创 LeetCode 1159. 市场分析II【困难】

表:Users+----------------+---------+| Column Name | Type |+----------------+---------+| user_id | int || join_date | date || favorite_brand | varchar |+----------------+---------+user_id 是该表的主键表中包含一位在线购物网站用户的个人信息,用户可以在该网站出售

2021-09-11 17:08:28 217

原创 LeetCode 578. 查询回答率最高的问题 【中等】

从 survey_log 表中获得回答率最高的问题,survey_log 表包含这些列:id, action, question_id, answer_id, q_num, timestamp。id 表示用户 id;action 有以下几种值:“show”,“answer”,“skip”;当 action 值为 “answer” 时 answer_id 非空,而 action 值为 “show” 或者 “skip” 时 answer_id 为空;q_num 表示当前会话中问题的编号。请编写 SQL 查询

2021-09-04 16:59:11 261

原创 LeetCode 574.当选者 【中等】

表:Candidate+-----+---------+| id | Name |+-----+---------+| 1 | A || 2 | B || 3 | C || 4 | D || 5 | E |+-----+---------+ 表:Vote+-----+--------------+| id | CandidateId |+-----+--------------+| 1

2021-09-04 16:41:46 146

原创 LeetCode 512.游戏玩法分析 II【简单】

Table: Activity+--------------+---------+| Column Name | Type |+--------------+---------+| player_id | int || device_id | int || event_date | date || games_played | int |+--------------+---------+(player_id, event_date)

2021-09-04 16:23:53 187

原创 LeetCode 511.游戏玩法分析 I【简单】

活动表Activity+--------------+---------+| Column Name | Type |+--------------+---------+| player_id | int || device_id | int || event_date | date || games_played | int |+--------------+---------+表的主键是 (player_id, event_date

2021-09-04 15:56:26 222

原创 数据库学习笔记:02 SQL详解

文章目录SQL详解SQL简介SQL语法`DDL` - 数据定义语言`DML` - 数据操作语言DQL - 数据查询语言SQL详解SQL简介SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。SQL语法启动MySQL80服务:以管理员身份打开命令行提示符,执行net start mysql80;也可以找到MySQL80服务,右键开启。

2021-08-28 17:12:45 1108

原创 数据库学习笔记:01 关系数据库简介及MySQL安装

关系数据库概述关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。关系数据库产品:OracleDB2SQLServerMySQLPostgreSQLMySQL简介MySQL在过去由于性能高、成本低、可靠性好

2021-08-25 19:13:12 139

原创 Python学习笔记:27 多线程

多线程是一个可以提高程序运行效率的方法。一些按顺序执行的程序可以使用多线程实现并行执行,从而提高整体效率。想要了解更多关于多线程的知识请点击:多线程实例简单使用import timefrom concurrent.futures import ThreadPoolExecutordef new_sleep(name): print(f'任务{name}休眠开始') time.sleep(5) print(f'任务{name}休眠完成')def main():

2021-08-22 20:24:32 135

原创 Python学习笔记:26 Python爬虫常见的坑即解决办法

前程无忧成都数据分析师招聘求职网页,爬取职位信息发现网页源码与控制台输出的源码有不同的地方,如下图所示:控制台找不到class属性值为t的p标签,那么职位信息也就不能通过元素定位来获取。解决办法是:在控制台搜索职位信息,如下图所示:发现职位信息在上图圈出的代码中,其中{}包含的部分是一个字典,字典中键为engine_search_result的值是一个列表,列表里是很多个字典,每一个字典包含一条职位信息。可以用以下代码获取职位信息。import requestsimport reimpor

2021-08-22 20:09:29 329

原创 Python学习笔记:25 xpath元素定位

xpathxpath:查找XML(用来存储和传输数据的)文档的语言lxml:专门用来处理XML和HTML数据的三方库etree.XML():将XML格式的字符串转换成Element对象,可以方便地使用xpath方法。etree.HTML():将HTML格式的字符串转换成Element对象,可以方便地使用xpath方法。xpath基本用法from lxml import etreexml_str = """<supermarket> <name>永辉超市&

2021-08-22 18:00:17 358

原创 LeetCode 13. 罗马数字转整数

罗马数字包含以下七种字符:I, V, X,L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下

2021-08-18 19:53:34 83

原创 Python学习笔记:24 Selenium的使用

基本使用创建浏览器对象并加载页面注意要将浏览器驱动放在当前项目目录下或配置环境变量。from selenium import webdriverdriver = webdriver.Chrome('chromedriver.exe')driver.get('https://www.baidu.com')设置浏览器大小两种方式:1、set_window_size方法可以指定分辨率设置窗口大小。​ 2、maximize_window方法可以将窗口最大化。from selenium

2021-08-18 17:43:16 210

原创 Python学习笔记:23 爬虫

简介网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。通过网络爬虫,我们可以爬取到网页的一些有用的信息,一个网页源代码往往很复杂,可以通过正则表达式匹配网页中我们需要的元素,以爬取到相关信息,也可以通过利用bs4库中的一些方法从网页中提取数据。一个简单的爬虫例子爬取豆瓣电影 Top 250的电影名字和图片。为了避免爬取网页时ip被封,可以将requ

2021-08-18 16:46:22 364 6

原创 Python学习笔记:22 HTML5基础和CSS基础

了解一些HTML5的基础知识和CSS基础知识有助于爬虫的学习,在学习这些基础知识之前,首先要安装HBuiderX工具。直接到官网下载标准版即可。HTML基础可以到HTML教程学习一下HTML基础知识。超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。打开HBuiderX工具,新建项目在index.html中写入如下代码:<!-- HTML:超文本标记语言 --><!-- HTML后缀名:.html /

2021-08-17 20:24:43 209 1

原创 Python学习笔记:21 正则表达式的应用

正则表达式的定义在编写处理字符串的程时,经常会遇到在一段文本中查找符合某些规则的字符串的需求,正则表达式就是用于描述这些规则的工具,换句话说,我们可以使用正则表达式来定义字符串的匹配模式,即如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替换掉。关于正则表达式的相关知识,大家可以阅读一篇非常有名的博文叫《正则表达式30分钟入门教程》,读完这篇文章后你就可以看懂下面的表格,这是我们对正则表达式中的一些基本符号进行的扼要总结。符号解释示例说明

2021-08-14 16:40:14 312

原创 Python学习笔记:20 Python读写Word文件和PDF文件

写Word文档使用Python写Word文档需要安装docx三方库,如下示例写了一个简单的Word文档from docx import Documentfrom docx.shared import Cm, Ptfrom docx.document import Document as Doc# 创建一个word对象document = Document() # type:Doc# font = document.styles['Normal'].font# font.size = Pt

2021-08-14 15:32:15 751 2

原创 Python学习笔记:19 Python读写Excel文件

Python操作Excel需要第三方库的支持,如果要兼容Excel 2007以前的版本,也就是xls格式的Excel文件,可以使用三方库xlrd和xlwt,前者用于读Excel文件,后者用于写Excel文件。如果使用较新版本的Excel,即操作xlsx格式的Excel文件,也可以使用openpyxl库。读写Excel文件读Excel文件例如在当前文件夹下的resources文件夹下有一个名为“阿里巴巴2020年股票数据.xls”的Excel文件,如果想读取并显示该文件的内容,可以通过如下所示的代码来完

2021-08-14 14:58:04 417

原创 PAT【Python题库】4-18 猴子选大王

猴子选大王一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?输入格式:输入在一行中给一个正整数N(≤1000)。输出格式:在一行中输出当选猴王的编号。输入样例:11输出样例7n = int(input())# 报数count = 0# 淘汰的猴子数c = 0n

2021-08-11 18:57:11 203

原创 Python学习笔记:18 文件读写和异常处理

打开和关闭文件使用Python内置的open函数来打开文件,在使用open函数时,我们可以通过函数的参数指定文件名、操作模式和字符编码等信息,接下来就可以对文件进行读写操作了。这里所说的操作模式是指要打开什么样的文件(字符文件或二进制文件)以及做什么样的操作(读、写或追加),具体如下表所示。操作模式具体含义'r'读取 (默认)'w'写入(会先截断之前的内容)'x'写入,如果文件已经存在会产生异常'a'追加,将内容写入到已有文件的末尾'b'二进制模式

2021-08-10 09:23:59 359

原创 Python解决斐波那契数列耗时问题

在函数参数的位置定义一个空字典,为避免计算过的斐波那契数在递归时再次被计算,可以将计算好了的斐波那契数放入字典,这样在递归调用时直接使用字典中的已经存在的斐波那契数即可。def fib(n, temp={}): if n == 1 or n == 2: return 1 if n not in temp: temp[n] = fib(n - 1) + fib(n - 2) return temp[n]if __name__ == '__main

2021-08-08 16:32:31 562 1

原创 Python:函数与面向对象编程总结

文章目录函数的定义函数的参数用模块管理函数高阶函数Lambda函数递归调用例题例题1:汉诺塔问题例题2:爬楼梯例题3:冒泡排序例题4:编写实现查找元素的函数例题5:判断快乐数函数的定义函数就是对实现某一特定功能的代码的封装。在Python中可以使用def关键字来定义函数,函数的命名规则跟变量的命名规则是一致的。# 定义函数:def是定义函数的关键字、fac是函数名,num是参数(自变量)def fac(num): """求阶乘""" result = 1 for n in

2021-08-07 11:56:28 1255 4

原创 Python学习笔记:17 面向对象编程进阶

动态属性在Python中,我们可以动态为对象添加属性,这是Python作为动态类型语言的一项特权,代码如下所示。注意:对象的方法其实本质上也是对象的属性,如果给对象发送一个无法接收的消息,引发的异常仍然是AttributeError。class Student: def __init__(self, name, age): self.name = name self.age = agestu = Student('王其', 20)# 为Studen

2021-08-07 11:02:18 230

原创 Python学习笔记:16 面向对象编程入门

在面向对象编程的世界里,程序中的数据和操作数据的函数是一个逻辑上的整体,我们称之为对象,对象可以接收消息,解决问题的方法就是创建对象并向对象发出各种各样的消息;通过消息传递,程序中的多个对象可以协同工作,这样就能构造出复杂的系统并解决现实中的问题。类和对象面向对象编程:把一组数据和处理数据的方法组成对象,把行为相同的对象归纳为类,通过封装隐藏对象的内部细节,通过继承实现类的特化与泛化,通过多态实现基于对象类型的动态分派。类是一个抽象的概念,对象是一个具体的概念。类是对象的蓝图和模板,对象是类的实例。

2021-08-07 10:14:00 151

原创 Python学习笔记:15 函数的高级应用

递归调用Python中允许函数嵌套定义,也允许函数之间相互调用,而且一个函数还可以直接或间接的调用自身。看一下求阶乘的问题:阶乘的定义:n! = n * (n - 1) * (n - 2)… 2 * 1n! = n * (n - 1)!可以用递归调用的方式写求阶乘的函数,代码如下:def fac(n): """求阶乘(递归写法) """ if n == 0: return 1 return n * fac(n - 1)递归函数的要点:1.递归公式:

2021-08-06 20:50:54 101 2

原创 Python学习笔记:14 函数使用进阶

关键字参数在调用函数传入参数时,可以指定参数名,也可以不指定参数名,一个简单的例子如下所示:def add(a, b, c): return a + b + cif __name__ == '__main__': # 调用函数传入参数不指定参数名按位置对号入座 print(add(1, 2, 3)) # 调用函数通过“参数名=参数值”的形式按顺序传入参数 print(add(a=1, b=2, c=5)) # 调用函数通过“参数名=参数值”的形式不按

2021-08-06 20:39:18 574

原创 Python学习笔记:13 函数和模块

函数的定义函数就是对实现某一特定功能的代码的封装函数的分类系统函数系统(语言系统)已经声明好,程序员可以直接使用的函数。自定义函数程序员自己声明的函数。函数的声明在Python中可以使用def关键字来定义函数,函数的命名规则跟变量的命名规则是一致的。def fac(num): """求阶乘""" result = 1 for i in range(2, num + 1): result *= i return result说明:

2021-08-04 20:56:34 211 1

原创 Python学习笔记:容器型数据类型之总结

文章目录可变性有序性共同点容器型数据类型之间的转换例题杨辉三角形生成10组随机验证码折半查找去重找出现次数最多的元素Python中容器型数据类型有列表、元组、字符串、集合、字典。可变性列表、集合、字典是可变的,元组、字符串不可变。集合支持添加、删除元素操作,不支持修改操作,因为集合是无序的,不能使用下标访问元素。列表和字典支持增删改查操作,列表可以通过遍历整个列表,获取所有元素,也可以通过下标获取指定元素;字典通过键获取对应的值,也可以通过遍历字典获取键值对。元组、字符串不支持增删改操作。# 列表

2021-07-31 14:46:25 383

原创 Python学习笔记:12 容器型数据类型------字典

文章目录认识字典创建和使用字典字典的运算字典的应用认识字典字典字典是容器型数据类型,将{}作为容器的标志,字典中的元素都是键值对,形如:{键1: 值1, 键2: 值2, 键3: 值3, …}字典是可变的(支持增删改)字典是无序的(不支持下标操作)字典元素(键值对)字典中的所有元素必须是键值对,键和值必须成对出现;字典存数据存的是值,键是用来区分和说明不同的值的。键:任意不可变的数据都可以作为键,实际开发的时候一般将字符串作为key;键是唯一的。值:任何类型的数据都可以作为字典

2021-07-31 09:16:35 398

原创 Python学习笔记:11 容器型数据类型------集合

11 容器型数据类型------集合集合的定义集合的定义:把一定范围的、确定的、可以区别的食物当作一个整体来看待。无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。无序性表明集合不支持索引运算,互异性决定了集合中不能有重复元素,Python中的集合一定是支持in和not in成员运算的,这样就可以

2021-07-30 20:12:05 143

原创 Python学习笔记:10 容器型数据类型------字符串

10 容器型数据类型------字符串文章目录10 容器型数据类型------字符串字符串的定义字符编码转义字符串和原始字符串字符串的运算拼接和重复比较运算成员运算获取字符串长度索引和切片循环遍历字符串字符串的方法大小写相关操作查找操作性质判断格式化字符串修剪操作替换拆分与合并编码与解码字符串的定义字符串是容器型数据类型,使用单引号或双引号作为容器标志,容器中的元素全是字符。字符串是不可变的(不支持增删改)、有序的(支持下表操作)# 字面量语法b = "hello, world"#

2021-07-30 13:17:15 648 1

原创 Python学习笔记:09 容器型数据类型------元组

09 容器型数据类型------元组认识元组元组(tuple)元组是容器型数据类型,将()作为容器的标志,里面多个元素用逗号隔开:(元素1,元素2,元素3,…)元组不可变(不支持增删改操作)元组有序(支持下标操作)注意:可以把元组看成不可变的列表。列表中除了元素的增删改外,其他的操作元组几乎都适用只有一个元素的元组()表示空的元组,但是因为()本身的特殊性导致如果一个元组只有一个元素,必须在这个唯一的元素后面添加逗号:(元素, )定义和使用元组定义元组通常使用()字面量语

2021-07-28 19:46:30 165

原创 Python学习笔记:08 列表操作(补充)

08 列表操作(补充)随机抽取和乱序使用random库中的下列函数实现随机抽取和乱序操作:sample函数可以对列表元素进行无放回抽样。choices函数可以对列表元素进行有放回抽样。choice函数可以从列表中随机选择一个元素。shuffle函数可以实现对列表元素打乱。"""example10 - 随机抽取和乱序Author: yucuiDate: 2021/7/26"""import randomnames = ['xiao hong', 'xiao ming', 'xi

2021-07-26 20:44:29 538 1

原创 Python学习笔记:07 简单排序算法

07 简单排序算法简单选择排序原理:每次从剩下的元素中选择最小的元素"""example08 - 简单选择排序Author: yucuiDate: 2021/7/26"""nums = [35, 12, 99, 58, 67, 42, 49, 31, 73]# 通过循环寻找有没有更小的值并记下它的位置for i in range(len(nums) - 1): # 假设第i个元素是最小值 min_value, min_index = nums[i], i

2021-07-26 20:18:51 109 1

原创 Python学习笔记:06 容器型数据类型------列表

06 容器型数据类型------列表容器型数据类型容器型数据类型:用一个变量可以保存多个数据的数据类型,包括列表(list)、元组(tuple)、集合(set)、字典(dict)。列表列表(list)列表是python提供的一种容器型数据类型;以[]作为容器的标志,里面多个元素用逗号隔开:[元素1, 元素2, 元素3, …]。列表是可变的(元素个数、元素的值可变),元素支持增、删、改、查操作。列表是有序的、支持下标操作。列表元素列表中的元素可以是任何类型的数据;同一列表中元素

2021-07-25 20:49:34 161 1

原创 Python学习笔记:05 分支与循环结构的应用

05 分支与循环结构的应用经典案例例1:斐波那契数列说明:斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和。那么斐波那契数列的前十个数为:1 1 2 3 5 8 13 21 34 55"""example1 - 输入一个整数n,输出n个斐波那契数1 1 2 3 5 8 13Author: yucuiDate: 2021/7/22"""n = int(input('请输入一个整数:'))a, b = 1, 1print(a, b, end='

2021-07-23 11:09:57 261 8

原创 Python学习笔记:04 分支结构和循环结构

05 分支结构和循环结构分支结构if语句使用if、elif、else构造分支结构,如下例所示:"""example01 - 分支结构(选择结构)admin/Admin123!!Author: yucuiDate: 2021/7/21"""username = input('用户名:')password = input('密码:')if username == 'admin' and password == 'Admin123!!': print('登录成功!欢迎使用xxx系

2021-07-22 14:06:37 340 2

原创 Python学习笔记:03 变量和运算符

03 变量和运算符变量变量和类型在编程语言中,变量是数据的载体,变量的值可以被读取和修改。Python中的数据类型有很多,常用的数据类型有:整型(int):Python中可以处理任意大小的函数,而且支持二进制(如0b101)、八进制(如0o101)、十进制(如101)、十六进制(如0x101)的表示法。浮点型(float):两种写法,数学写法(如123.456),科学计数法(如123456e-3)。字符串型(str):以单引号或双引号括起来的文本,如'hello'和"hello"。布尔型(b

2021-07-21 15:10:37 178 1

原创 Python学习笔记:02 第一个Python程序

02 第一个Python程序在第一节,已经安装了Python解释器,接下来开始编写Python程序。编写代码的工具交互式环境打开命令行提示符,输入python,进入到交互式环境中,输入代码回车,便可执行代码得出结果。可以通过输入quit()退出交互式环境>>> quit()更好的交互式环境:IPython使用Python的包管理工具pip来安装IPython,首先需要将pip的下载源修改为国内的豆瓣网,否则安装IPython的过程会非常缓慢,如下所示:pip confi

2021-07-20 19:56:22 110

原创 Python学习笔记:01 Python环境的安装

01Python环境的安装Windows环境到Python官网下载Python 3的安装程序双击打开下载好的安装包,后续安装步骤如下:注:一定要勾选Add Python 3.7 to PATH注:一定要勾选pip注:安装路径不能含中文打开命令行提示符,输入python --version或python -V,如果显示Python解释器对应的版本号,说明安装成功。除此之外,还需要检查pip包管理工具是否可用,输入pip --version查看。...

2021-07-20 17:02:06 108 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除