mini-web伺服器
- 能夠完成簡單的請求處理
- 使用http協議
- 目的:加深對網路程式設計的認識、為後面階段學習web做鋪墊
簡單資料結構
- 排列組合
import itertools
# 排列:從m個元素中提取n個,所有可能就是排列(有順序)
# 當m等於n時的排列稱為全排列
# it = itertools.permutations([1, 2, 3], 3)
# 組合:沒有順序的排列
# it = itertools.combinations([1, 2, 3, 4], 2)
# 笛卡爾乘積:多個序列中的元素組合
# it = itertools.product([1, 2], [3, 4], [5, 6])
# 上面多個相同序列的場景
it = itertools.product([1, 2], repeat=3)
print(it)
for i in it:
print(i)
# 可以轉換為列表
# print(list(it1))
- 計數器及雙向佇列
from collections import counter, deque
# 統計序列中元素出現的次數
c = counter([1, 2, 3, 4, 1, 2, 3, 1, 2, 1])
print(c)
print(type(c))
# 可以轉換為字典
print(dict(c))
# 雙向佇列
d = deque([1, 2, 3])
# 右側追加
# 左側新增
# 右側彈出資料
print(d.pop())
# 左側彈出資料
print(d.popleft())
# 右側擴充套件
d.extend(['a', 'b', 'c'])
# 左側擴充套件
d.extendleft(['aa', 'bb', 'cc'])
# 迴圈移動:正數表示向右移動,負數表示向左移動
# d.rotate(1)
d.rotate(-1)
print(d)
print(list(d))
- 鍊錶
- 新增節點
- 追加節點
- 插入節點
- 刪除節點
處理- 擴充套件庫:pil,只支援py2,需要安裝pillow庫之後才能支援py3
- 安裝:pip install pillow
- 預備知識:
- 顏色:r(紅)、g(綠)、b(藍)、a(透明)
- 驗證碼:
from pil import image, imagefont, imagedraw, imagefilter
from random import randint
# 產生隨機的顏色
def rand_color():
return (randint(128, 255), randint(128, 255), randint(128, 255))
# 建立
img = image.new('rgb', (200, 50), 'white')
# 建立字型
font = imagefont.truetype('xdxwz.ttf', 30)
# 建立畫筆
draw = imagedraw.draw(img)
# 寫字
for i in range(4):
draw.text((i*50+15, 0), 'a', font=font, fill='black')
# 畫干擾點
for i in range(100*50):
x = randint(0, 200)
y = randint(0, 50)
draw.point((x, y), fill=rand_color())
# 使用濾鏡,會生成新的
img = img.filter(imagefilter.gaussianblur)
# 展示,會調出系統的檢視器
img.show()
驗證碼一(驗證碼生成)
根據手機好查詢密碼 return type description code for i 0 i 6 i 4位驗證碼也可以用rand 1000,9999 直接生成 將生成的驗證碼寫入session,備驗證時用 session start session verify num code 建立,定義顏色...
生成驗證碼
在此處放置使用者 以初始化頁面 bitmap image new bitmap int math.ceiling validatenum.length 12.5 22 graphics g graphics.fromimage image tryfinally region web 窗體設計器生成的...
生成驗證碼
生成驗證碼的類 using system using system.data using system.configuration using system.collections using system.web using system.web.security using system.web...