Random string generation with upper case letters and digits

前端 未结 30 3069
逝去的感伤
逝去的感伤 2020-11-22 02:51

I want to generate a string of size N.

It should be made up of numbers and uppercase English letters such as:

  • 6U1S75
  • 4Z4UKK
  • U911K4
30条回答
  •  南笙
    南笙 (楼主)
    2020-11-22 03:16

    import string, random
    lower = string.ascii_lowercase
    upper = string.ascii_uppercase
    digits = string.digits
    special = '!"£$%^&*.,@#/?'
    
    def rand_pass(l=4, u=4, d=4, s=4):
        p = []
        [p.append(random.choice(lower)) for x in range(l)]
        [p.append(random.choice(upper)) for x in range(u)]
        [p.append(random.choice(digits)) for x in range(d)]
        [p.append(random.choice(special)) for x in range(s)]
        random.shuffle(p)
        return "".join(p)
    
    print(rand_pass())
    # @5U,@A4yIZvnp%51
    

提交回复
热议问题