Generate a Unique String in Python/Django

后端 未结 10 2569
清酒与你
清酒与你 2020-12-15 05:56

What I want is to generate a string(key) of size 5 for my users on my website. More like a BBM PIN.

The key will contain numbers and uppercase English letters:

10条回答
  •  [愿得一人]
    2020-12-15 06:09

    Am not sure about any short cryptic ways, but it can be implemented using a simple straight forward function assuming that you save all the generated strings in a set:

    import random
    
    def generate(unique):
        chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
        while True:
            value = "".join(random.choice(chars) for _ in range(5))
            if value not in unique:
                unique.add(value)
                break
    
    unique = set()
    for _ in range(10):
        generate(unique)
    

提交回复
热议问题