How would you translate this from Perl to Python?

后端 未结 8 2070
忘了有多久
忘了有多久 2021-02-08 03:01

I\'ve got a Perl function which takes a timestamp and returns either the unchanged timestamp (if it\'s never seen it before) or otherwise, it appends some letters to make it uni

8条回答
  •  说谎
    说谎 (楼主)
    2021-02-08 03:47

    The class is generic and boring, but This is my very first recursive generator. <3

    def stamptag():
        yield ''
        prefixtag = stamptag()
        prefix = prefixtag.next()
        while True:
            for i in range(ord('A'),ord('Z')+1):
                yield prefix+chr(i)
            prefix = prefixtag.next()
    
    tagger = stamptag()
    for i in range(3000):
        tagger.next()
    print tagger.next()
    
    class uniquestamp:
        def __init__(self):
            self.timestamp = -1
            self.tagger = stamptag()
    
        def format(self,newstamp):
            if self.timestamp < newstamp:
                self.tagger = stamptag()
                self.timestamp = newstamp
            return str(newstamp)+self.tagger.next()
    
    stamper = uniquestamp()
    print map(stamper.format, [1,1,1,2,2,3,4,4])
    

    output:

    DKJ
    ['1', '1A', '1B', '2', '2A', '3', '4', '4A']
    

提交回复
热议问题