如何在Python中生成字母数字系列

时间:2014-03-24 08:39:58

标签: python

我想生成字母数字系列以打印发票编号。

示例:MT00001,MT00002,MT00003

它不应该是随机的。

请帮帮我。

2 个答案:

答案 0 :(得分:1)

结合列表理解和字符串格式:

['MT%05d' % i for i in range(1, 100000)]

结果是MT00001 ... MT99999范围内所有发票编号的清单。

答案 1 :(得分:1)

看起来非常直接

>>> class letter_generator:
...  def __init__(self, prefix, places):
...   self.prefix = prefix
...   self.places = places
...  current = 0
...  def get_unique_id(self):
...   self.current+=1
...   return "%s%s" % (self.prefix, str(self.current).zfill(self.places))
...
>>>
>>> l = letter_generator('TM',5)
>>> l.get_unique_id()
'TM00001'
>>> l.get_unique_id()
'TM00002'
>>> l.get_unique_id()
'TM00003'
>>> l.get_unique_id()
'TM00004'
>>>