day06整理

一、上节课回顾

(一)什么是文件

操作系统提供的虚拟单位,用来存储信息

(二)文件打开的步骤

  1. 找到文件的路径 file_path
  2. 打开文件open()
  3. 读取/修改文件f.read()/f.write()
  4. 保存文件flush
  5. 关闭文件f.close()

(三)打开文件的3种模式+2种方式

  1. r:只读不写入
  2. w:只写不读,清空文件后写入
  3. a:追加写入

  4. b:二进制
  5. t:文本

不建议使用

  1. r+:既可读也可写
  2. w+:既可读也可写(清空)
  3. a+:既可读也可写(追加)

(四)with管理上下文

f = open()
f.read()
f.close()

#自动关闭文件
with open() as f:
    f.read()

(五)爬虫原理

通过浏览器发送请求拿到内容,通过requests模块模拟浏览器发送请求拿到内容

(六)爬虫的流程

  1. 发送请求(填入一个url)
  2. 获取内容
  3. 筛选数据

(七)requests模块的使用

import requests

res = requests.get(url)
#文本
re.text
#二进制
re.content

(八)re模块

re.S全局搜索

re.findall('正则匹配规则',re.text,re.S)
#正则匹配规则
.*?

二、if判断

(一)单分支结构

格式:

if 条件:
    print()#条件成立后执行该代码

(二)双分支结构

if 条件:
    print()#条件成立执行
else:
    print()#条件不成立执行

(三)多分支结构

if 条件1:
    print()#条件1成立执行
elif 条件2:
    print()#如果条件1不成立,条件2成立执行
elif 条件3:
    print()#如果条件1和条件2都不成立,条件3成立执行
        

IPO

input输入(定义变量)

process处理(逻辑判断)

output(输出)

三、for循环

(一)range方法

for i in range (1,32):
    print(i)

(二)格式化输出

name = 'wuyong'
print(f'{name} handsome)
字符串前面加上f,{}就有了特殊含义

(三)for循环嵌套

内层循环全部走完,才会走一次外层循环,每次走外层循环,内层循环都会重置

四、习题

输入从2001到2020每天刷牙的记录

for y in range(2001,2021):#年循环
    for i in range(1,13):#月循环
        for j in range(1,32):#日循环
            if i == 2:#2月判断
                if y % 4 == 0 and y % 100 != 0 or y % 400 == 0:#判断闰年(2月有29天)
                    if j == 30:
                        break
                else:#判断平年(2月有28天)
                    if j == 29:
                        break
                if  i in [4,6,9,11]: #i == 4 or i == 6 or i == 9 or i == 11:#4月\6月\9月\11月判断(30天)
                    if j == 31:
                        break
            print(f'{y}年{i}月{j}日刷牙')

猜你喜欢

转载自www.cnblogs.com/wick2019/p/11424137.html