python 之 生成序列号

最近想那个找点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

你可能感兴趣的:(python 之 生成序列号)