【问题标题】:Generate random string with python for a string(mix of int and chars) with particular lenght使用python为具有特定长度的字符串(int和chars的混合)生成随机字符串
【发布时间】:2019-12-22 11:36:07
【问题描述】:

需要生成如下随机字符串

前 5 个字符串应为大写字母 接下来 4 应该是整数和 最后一个字母

输出我需要例子:

ACCE1664Z
BCED1782V
FBCR9126N


它正在生成随机字符串。

【问题讨论】:

  • 这和pandas有什么关系?此外,到目前为止,您尝试过什么?
  • 更新的 pl chk

标签: python pandas random faker


【解决方案1】:
from string import ascii_uppercase, digits
import random 

def generatestr():
    str0= random.sample(ascii_uppercase,4)+random.sample(digits,4)+random.sample(ascii_uppercase,1)
    return ''.join(str0)

print(generatestr())

@ComplicatedPhenomenon 的答案的改进

访问here 了解更多字符串常量(例如ascii_uppercase)。

【讨论】:

    【解决方案2】:

    假设最后一个字母也是大写的。

    import random 
    def generatestr():
        alphabet = []
        for letter in range(65, 91):
            alphabet.append(chr(letter))
        num = [str(i) for i in range(10)]
        str0= random.sample(alphabet,4)+random.sample(num,4)+random.sample(alphabet,1)
        return ''.join(str0)
    generatestr()
    

    【讨论】:

      【解决方案3】:
      import random
      import string 
      
      def randomString(charLength, intLength):
          letters = string.ascii_uppercase
          numbers = list(range(0,9))
          charArray = ""
          numArray= ""
          for i in range(max(charLength,intLength)):
              if i < charLength:  
                  charArray = charArray + random.choice(letters)
              if i < intLength:    
                  numArray = numArray + str(random.choice(numbers))
      
          return (charArray + numArray + random.choice(letters))
      
      print(randomString(5,4))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-25
        • 2021-03-15
        • 1970-01-01
        • 1970-01-01
        • 2016-12-21
        • 2015-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多