最近想那个找点python 的例子练练手 做入门
功能: 生成 序列码
# -*- coding: utf-8 -*-
import random
import string
def activation_code(id,length=10):
prefix=hex(int(id))[2:]+'L'
#十六进制 以ox** 所以舍弃前两位
length=length-len(prefix)
chars=string.ascii_letters+string.digits
#print chars
# abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
return prefix+''.join([random.choice(chars) for i in range(length)])
def get_id(code):
#print code
return str (int(code.upper(),16))
if __name__=="__main__":
print 'hello'
for i in range(10,500,35):
# $1 起始数 $2 终止书 $3 scan 跳数
code=activation_code(i)
id_hex=code.split('L')[0]
id=get_id(id_hex)
print code,id
输出结果:
aL4gna1mZt 10
2dLJGbMMxv 45
50LppSXjkW 80
73LCv32hml 115
96Lq3rrRlL 150
b9LlxF82dg 185
dcLrPEVOdj 220
ffLrBhvsim 255
122L9ppzpS 290
145LzUsDqx 325
168LFbUizf 360
18bLigkdJC 395
1aeLADfEce 430
1d1L7Y4dY0 465
Tip 1
.join 用法
>>> seq2 = "hello good boydoiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
#对元组进行操作
>>> seq3 =('hello','good','boy','doiido')
>>> print ':'.join(seq3)
hello:good:boy:doiido
Tip 2
函数原型:range(start, end, scan):
参数含义:start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
end:技术到end结束,但不包括end.例如:range(0, 5)是[0,1, 2, 3, 4]没有5
scan:每次跳跃的间距,默认为1。例如:range(0, 5)等价于 range(0, 5, 1)
Tip 3
chars=string.ascii_letters+string.digits
print chars
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
参考 https://github.com/Show-Me-the-Code/python/blob/master/yefan/001/001.py