第0001题:做为Apple Store App独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使用Python如何生成200个激活码(或者优惠券)?
有两个思路,第一个是用string的digits和letters,然后采用random模块中的一些方法随机取出字符。
另一个方法是用uuid模块
通用唯一识别码(英语:Universally Unique Identifier,简称UUID)是一种软件建构的标准,亦为开放软件基金会组织在分散式计算环境领域的一部份。
UUID的目的,是让分散式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的UUID。在这样的情况下,就不需考虑资料库建立时的名称重复问题。目前最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则有Linux ext2/ext3档案系统、LUKS加密分区、GNOME、KDE、Mac OS X等等。另外我们也可以在e2fsprogs套件中的UUID函式库找到实现。[3]
UUID是由一组32位数的16进位数字所构成,是故UUID理论上的总数为1632=2128,约等于3.4 x 1038。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完,,它保证对在同一时空中的所有机器都是唯一的(重复机率请参考随机UUID的重复机率)。
算法
示例代码
import uuid
uuid.uuid1()
uuid.uuid3(namespace, name)
uuid.uuid4()
uuid.uuid5(namespace, name)
import uuid
class Generation:
def __init__(self):
self.num = 0
self.listid = []
def generate_uuid(self, num):
for i in range(int(num)):
self.listid.append(uuid.uuid1())
def get__uuid(self):
return self.listid
if __name__ == '__main__':
gencode = Generation()
gencode.generate_uuid(200)
keys = gencode.get__uuid()
filekeys = file('gencodes.txt', 'w')
for k in keys:
filekeys.write(str(k)+'\n')
filekeys.close()
2025 - 快车库 - 我的知识库 重庆启连科技有限公司 渝ICP备16002641号-10
企客连连 表单助手 企服开发 榜单123