Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用.join生成两个随机字符?_Python - Fatal编程技术网

Python 如何使用.join生成两个随机字符?

Python 如何使用.join生成两个随机字符?,python,Python,我正试图让我的程序打印一个带基数和两个随机数的序列 import random import string charList = "A", "B", "C", "D", "C", "E", "F", "G", "H", "I", "J", "K", "L", "M", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "1", "2", "3", "4", "5" "6", "7", "8", "9" y27Base = [

我正试图让我的程序打印一个带基数和两个随机数的序列

import random
import string

charList = "A", "B", "C", "D", "C", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "1", "2", "3", "4", "5"
"6", "7", "8", "9"
y27Base = ["U0330V", "U0330W", "U0330X", "U0330Y"]

whatSerial = input("What serial?").upper()

def y27(y27Base, charList):
    return y27Base + "".join([random.choice(charList) for x in range(2)]) + " -> Y27"
if whatSerial == "Y27F":
    for i in y27Base:
        for i2 in charList:
            print(y27(i, i2))
我想要的是程序用2个随机数打印Y27数据库,以便e.x

U0330V9D U0330XZ7

我希望它尽可能多地打印


请提前多谢

您的关键问题是向函数传递单个字符:

    for i2 in charList:
        print(y27(i, i2))
因此,您的函数只有一个字符可供选择,并且您会得到困扰您的输出的双字母

要解决此问题,只需从主程序传入字符列表:

for i in y27Base:
    print(y27(i, charList))
输出:

U0330VFG -> Y27
U0330WDC -> Y27
U0330XEM -> Y27
U0330YCI -> Y27

尽可能多的次数是没有限制的:你可以随心所欲地重复这个内在陈述。

你能详细说明你面临的问题吗?尽可能多的次数听起来不再像是随机选择。这是一个蛮力算法,可能是@GalAbra的复制品:a OP没有正则表达式,b可接受的解决方案生成的结果没有@GalAbra多possible@ThomasWeller现在我明白了为什么这会被否决。的确是蛮力。我收回了国旗。