diff --git "a/python\347\210\254\350\231\253\345\255\246\344\271\240\345\260\217\345\210\206\351\230\237.md" "b/python\347\210\254\350\231\253\345\255\246\344\271\240\345\260\217\345\210\206\351\230\237.md" new file mode 100644 index 0000000000000000000000000000000000000000..9f0f743a9e4e0bb79796bc77071592a7dcdd58b4 --- /dev/null +++ "b/python\347\210\254\350\231\253\345\255\246\344\271\240\345\260\217\345\210\206\351\230\237.md" @@ -0,0 +1,101 @@ +# python爬虫学习小分队 + +## 第一周第一次学习目标——task 1 + +用python语言实现以下两个需求: + +1.用一行代码打印出0到1000能被3整除的数(思考题) + +2.随机生成10000个列表,列表的长度为N(N=10),列表中的元素为(0,M)(M=10)内的实数。如果一个列表中有至少三个数相等则称该列表满足相等条件。最终输出相等的列表数量。(ps:建议用函数来实现功能的划分,将代码进行模块化的操作) + +写完之后可以把.py文件发出来,一起交流参考一下。**(ps:在自己写出了代码之后,去看一看别人的代码,跟自己去做一下比较,揣测一下别人的编码思路,对自己思考问题有很大的好处)** + +留一个本周的学习小目标: + +了解一下git这个工具,学习如何去使用它**(我们后期可能会用它来进行代码的共享,而且以后工作中也会用到这个东西)** + +题解: + +任务1: + +```python +if __name__ == '__main__': + # 1.一行代码打印出0到1000能被3整除的数 + print([i for i in range(1001) if i % 3 == 0]) +``` + +任务2: + +```python +import random + + +def create(): + """ + 通过这个函数去创建一个包含10000个列表的列表 + :return: 返回一个大列表 + """ + lst = [] + for i in range(10000): + # 通过列表表达式创建随机数列表,同时存入到大列表中 + lst.append([random.randint(0, 10) for i in range(10)]) + return lst + + +def fun(lst): + """ + 对列表进行遍历,同时对子列表进行判断是否符合条件 + :param lst: 大列表 + :return: + """ + ans = 0 + for l in lst: + # 创建一个字典,统计元素出现的个数 + d = dict() + for i in l: + # i:可以理解为列表中的元素 + # get()函数解析:i为键,0是如果字典中找不到i那个键,则返回一个0 + # 获得了i对应的个数后,对它进行+1并覆盖掉之前的值 + d[i] = d.get(i, 0) + 1 + for value in d.values(): + if value >= 3: + # 遍历字典,如果存在三个数相等的情况,就对结果进行+1,并跳出循环 + ans += 1 + break + print(ans) + + +if __name__ == '__main__': + # 类似于c中的主函数 + for time in range(100): + fun(create()) +``` + +## 第一周第二次学习目标——task 2 + +目标: + +1.熟悉HTTP的两种请求方式——get、post + +- 概念的理解(总结的时候,用自己的理解和语言去总结) +- 两者的相同点和不同点 +- ps:学习的过程中可以辅以百度等其他搜索引擎,但是务必将这两个请求方式理解好(做到能够自己去概括,或者画个思维导图即可) + +2.了解请求、响应两种概念——参照之前发出来的推文 + +- 请求中的URL、请求头、请求方式、参数 +- 响应中的响应内容、响应状态码 + +3.熟悉requests库的使用——通过官方文档进行学习 + +- 官方文档地址:https://requests.readthedocs.io/zh_CN/latest/ +- 根据文档中的快速上手那个模块,requests库建立一个基本的了解 + +4.建立起对cookie和session的概念——下周的主要内容 + + + + + + + diff --git "a/\344\275\234\344\270\232\345\256\241\346\237\245/task1/1w\351\232\217\346\234\272\345\210\227\350\241\250\346\261\202\347\233\270\345\220\214\345\210\227\350\241\250\346\225\260.py" "b/\344\275\234\344\270\232\345\256\241\346\237\245/task1/1w\351\232\217\346\234\272\345\210\227\350\241\250\346\261\202\347\233\270\345\220\214\345\210\227\350\241\250\346\225\260.py" new file mode 100644 index 0000000000000000000000000000000000000000..10b806aa73b745e7b1a867950734ba537e28c2d4 --- /dev/null +++ "b/\344\275\234\344\270\232\345\256\241\346\237\245/task1/1w\351\232\217\346\234\272\345\210\227\350\241\250\346\261\202\347\233\270\345\220\214\345\210\227\350\241\250\346\225\260.py" @@ -0,0 +1,22 @@ +import random + +L = [] +n = 0 + + +def F(): + c = 0 + for i in range(10): + L.append(random.randint(0, 10)) + for j in range(10): + if L.count(L[j]) >= 3: + c = c + 1 + break + L.clear() + return c + + +for k in range(10000): + if F() == 1: + n = n + 1 +print('相等列表数量有:', n, '个') diff --git "a/\344\275\234\344\270\232\345\256\241\346\237\245/task1/nsb2.py" "b/\344\275\234\344\270\232\345\256\241\346\237\245/task1/nsb2.py" new file mode 100644 index 0000000000000000000000000000000000000000..0e3d5f18aa571bea3bb35f404a0296dc50be7387 --- /dev/null +++ "b/\344\275\234\344\270\232\345\256\241\346\237\245/task1/nsb2.py" @@ -0,0 +1,33 @@ +import random + +global n +n = 10 +Sum = 0 + + +# 生成长度10的随机数列List +def creat(): + List = [] + for i in range(n): + List.append(random.randint(1, 10)) + print(List) + return List # 返回一个列表List + + +# 判断数列是否为符合条件数列并计数 +def judge(List): + global Sum + a = 0 + + for i in range(8): + if List.count(List[i]) > 2: + a = 1 + if a == 1: + Sum = Sum + 1 + a = 0 + + +# 执行10000次 +for i in range(10000): + judge(creat()) +print(Sum) diff --git "a/\344\275\234\344\270\232\345\256\241\346\237\245/task1/\347\254\254\344\270\200\345\221\250\347\254\254\344\270\200\346\254\241\345\255\246\344\271\240\344\273\273\345\212\241 1\344\270\200\350\241\214\344\273\243\347\240\201.py" "b/\344\275\234\344\270\232\345\256\241\346\237\245/task1/\347\254\254\344\270\200\345\221\250\347\254\254\344\270\200\346\254\241\345\255\246\344\271\240\344\273\273\345\212\241 1\344\270\200\350\241\214\344\273\243\347\240\201.py" new file mode 100644 index 0000000000000000000000000000000000000000..79d2d044afacf0a49eb30c7bfa72786d2ccdc052 --- /dev/null +++ "b/\344\275\234\344\270\232\345\256\241\346\237\245/task1/\347\254\254\344\270\200\345\221\250\347\254\254\344\270\200\346\254\241\345\255\246\344\271\240\344\273\273\345\212\241 1\344\270\200\350\241\214\344\273\243\347\240\201.py" @@ -0,0 +1 @@ +print((i for i in range(0, 1000) if i % 3 == 0)) diff --git "a/\346\225\231\345\255\246\347\233\264\346\222\2552021.01.07.md" "b/\346\225\231\345\255\246\347\233\264\346\222\2552021.01.07.md" new file mode 100644 index 0000000000000000000000000000000000000000..a3b14ed7f83c78ccfff16f25122ad2b88cdea07b --- /dev/null +++ "b/\346\225\231\345\255\246\347\233\264\346\222\2552021.01.07.md" @@ -0,0 +1,41 @@ +# 教学直播2021.01.07 + +## 大纲 + +1. requests库的安装,和官方文档的介绍 +2. pyCharm的基本使用方法 +3. git工具和gitee仓库的创建 +4. 发布学习任务 + + + +### requests库的安装,和官方文档的介绍 + +1.pip install requests + +2.查看官方文档 + + + +### PyCharm项目新建 + +1. 新建项目 + +2. 设置项目的根目录 + +3. 选择项目的python解释器 + + 1. 新环境 继承于原有的解释器 + 1. 如果说要修改这个新的解释器,不会影响到原有的(电脑安装的解释器) + 2. 已存在 电脑中已经存在的python解释器 + +4. 勾选继承site-package + + + +### git工具和gitee仓库的创建 + +1. 安装git +2. 注册一个码云gitee账号 +3. 加入仓库 +4. 对仓库进行操作 \ No newline at end of file