繁体   English   中英

使用python为具有特定长度的字符串(int和chars的混合)生成随机字符串

[英]Generate random string with python for a string(mix of int and chars) with particular lenght

需要生成随机字符串如下

前5个字符串应为大写字母,其后4个应为整数,最后一个应为字母

输出我需要的例子:

ACCE1664Z
BCED1782V
FBCR9126N


它正在生成随机字符串。

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

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()
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的答案的改进

请访问此处以获取更多字符串常量(例如ascii_uppercase )。

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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM