python生成序列_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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值