题目描述
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
输入
每个用例包含二个整数M和N。0<=m<=10,1<=n<=10
样例输入 7 3
样例输出 8
/**
* 计算放苹果方法数目
* 输入值非法时返回-1
* 1 <= m,n <= 10<><= m,n <= 10<>
* @param m 苹果数目
* @param n 盘子数目数
* @return 放置方法总数
*/
public static int count(int m, int n)
http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLSD15_2.html
李宏毅-Machine Learning(2017, Fall)
链接: https://pan.baidu.com/s/1HdVdx52MZ-FF5dSWpAOfeA 提取码: vjhy
有101个硬币,其中一个是假的,给你一个天平,两次称重机会,找出是假的硬币重还是真的硬币重。记住,是天平不是称噢。
大数据竞赛平台——Kaggle
test.csv
train.csv
https://www.kaggle.com/c/digit-recognizer/discussion/2983
sklearn
https://blog.csdn.net/Lee20093905/article/details/78903653
http://python.jobbole.com/89095/
远程管理爬虫服务器——scrapyd
https://blog.csdn.net/xxwang6276/article/details/45745181
yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator
一个带有 yield 的函数就是一个 generator,它和普通函数不同,生成一个 generator 看起来像函数调用,但不会执行任何函数代码,
直到对其调用 next()(在 for 循环中会自动调用 next())才开始执行。虽然执行流程仍按函数的流程执行,但每执行到一个 yield
语句就会中断,并返回一个迭代值,下次执行时从 yield 的下一个语句继续执行。看起来就好像一个函数在正常执行的过程中被 yield
中断了数次,每次中断都会通过 yield 返回当前的迭代值。
Scrapy工作流程
(1)发起请求
(2)下载中间件处理请求
(3)下载数据得到response
(4)中间件对response做处理
(5)parse函数解析response,提取你要的信息
(6)生成item(或request)
(7)pipeline处理item
我们一般要定制的主要是parse和pipeline,其他的scrapy都帮我们搞定了。
Scrapy重点功能
(1)items模块:items定义你需要提取的数据的格式,方便进行一层一层的分析操作。
我的理解:他就像一个全局的字典容器,把爬虫提取的信息通过键值对存放到里面,供scrapy各层分析使用
(2)spider:我们的爬虫主体,这里最重要的功能是对下载下来的数据做解析,生成符合规范的item或发起新的请求。
(3)pipeline:pipeline是对得到的item做进一步处理,并非你所得到的所有item都合乎要求的,也有可能还要做一些计算工作才得到你想要的。
scrapy牛逼在哪里?他做处理的时候是传入spider对象做参数的,这样你可以把一个pipeline和多个spider拼接,不需要为一个spider另写一个pipeline,
同时pipeline是可以有多个在一起的,只要你在process_item函数里返回这个item,它就会被下面的pipeline继续处理。
name: 用于区别Spider。 该名字必须是唯一的
start_urls: 包含了Spider在启动时进行爬取的url列表。
Item 是保存爬取到的数据的容器;其使用方法和python字典类似。
类似在ORM中做的一样,您可以通过创建一个 scrapy.Item 类, 并且定义类型为 scrapy.Field 的类属性来定义一个Item。
parse_question
回调函数从每个页面中爬取到问题(question)的数据并产生了一个dict, Scrapy收集并按照终端(command line)的要求将这些结果写入到了JSON文件中。
Selector有四个基本的方法:
xpath(): 传入xpath表达式,返回该表达式所对应的所有节点的selector list列表 。
css(): 传入CSS表达式,返回该表达式所对应的所有节点的selector list列表.
extract(): 序列化该节点为unicode字符串并返回list。
re(): 根据传入的正则表达式对数据进行提取,返回unicode字符串list列表。