024-2018-1010 正則表示式和re模組
阿新 • • 發佈:2018-12-22
1.今日內容大綱
一. 昨日內容回顧 序列化: pickle: 把物件序列化成bytes dumps() 序列化 loads() 反序列化 dump() load() shelve 檔案型別的字典 shelve.open(filename, writeback=True) json 把物件序列化成字串. dumps() loads() configparser 類似檔案字典. 主要用來處理ini檔案 二. 作業講解
- 整理部落格和筆記.
- 隨機生成4位驗證碼(包含數字, 字母)
- 模擬發紅包. 不需要考慮權重問題. 純隨機.
例如, 小紅髮了100塊紅包. 發給30人. 請給出每個人能收到的錢數
明日默寫內容.
使用json模組完成:
- 字典-> 字串
- 字串 -> 字典
三. 今天主要內容 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能取消掉轉義