024-2018-1010 正则表达式和re模块

1.今日内容大纲

一. 昨日内容回顾
        序列化:
            pickle: 把对象序列化成bytes
                dumps() 序列化
                loads() 反序列化
                dump()
                load()
            shelve
                文件类型的字典
                shelve.open(filename, writeback=True)
            json
                把对象序列化成字符串.
                dumps()
                loads()
        configparser
            类似文件字典. 主要用来处理ini文件

二. 作业讲解
  1. 整理博客和笔记.
  2. 随机生成4位验证码(包含数字, 字母)
  3. 模拟发红包. 不需要考虑权重问题. 纯随机.

         例如, 小红发了100块红包. 发给30人. 请给出每个人能收到的钱数

  1. 完善昨天最后一题. 把对象通过pickle写入到文件中.
  2. (升级题))请从以下网址获取json数据. 并对json进行分析. 获取到每家店的名称以及特色菜, 并把获取到的店名和特色菜写入到文件中:https://h5.ele.me/restapi/shopping/v2/restaurants/search?offset=15&limit=15&keyword=%E7%8C%AA%E8%B9%84&latitude=39.904172&longitude=116.407417&search_item_type=3&is_rewrite=1&extras[]=activities&extras[]=coupon&terminal=h5    温馨提示. 首先在chrome地址栏中输入以上网址. 然后把显示的所有内容复制. F12 找到屏幕中的console. 粘贴进去. 回车 就能看到数据了.此题需要用到urllib.request模块中的urlopen

 

明日默写内容.

使用json模块完成:

  1. 字典-> 字符串
  2. 字符串 -> 字典
    
三. 今天主要内容
    1. 正则表达式
    2. re模块


2.练习


import random

lst = []
for i in range(48,58):
    lst.append(chr(i))

for i in range(ord("a"), ord("z") + 1):
    lst.append(chr(i))

for i in range(ord('A'), ord('Z') + 1):
    lst.append(chr(i))

print(random.sample(lst, 4))



import random

money = 100
ren = 30
qian_moneny = 0

lst = []
for i in range(ren-1):
    m = random.uniform(0, money - qian_moneny)
    qian_moneny += m
    lst.append(m)

lst.append(money - qian_moneny)
print(lst)

import random
def bonus(person,money):
    dic = {}
    num_sum = 0
    for i in range(person):
        num = random.randint(1,100) #在1-100随机整数
        dic["Person%s"%(i+1)] = num
        num_sum += num

    for el in dic: #1/6
        x =round(dic[el]/num_sum*money,2)
        dic[el] = x
    return dic

result = bonus(10,10)
print(result)


def outer():
    content = "1111"
    def inner():
        print(content)

    return inner

fn = outer()
fn()
fn()
fn()
fn()

import json
from urllib.request import urlopen

content = urlopen("https://h5.ele.me/restapi/shopping/v2/restaurants/search?offset=15&limit=15&keyword=%E7%9B%96%E6%B5%87%E9%A5%AD&latitude=39.904172&longitude=116.407417&search_item_type=3&is_rewrite=1&extras[]=activities&extras[]=coupon&terminal=h5").read()

s = content.decode("utf-8")
dic = json.loads(s)

rwf = dic['inside']['0']['restaurant_with_foods']
for el in rwf:
    # 那商家
    print(el['restaurant']['name']) #  店铺名称
    for food in el['foods']:
        print(food['name'])

print(r"周润发\n李\t嘉\r诚") # r能取消掉转义


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值