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现在我明白了为什么这会被否决。的确是蛮力。我收回了国旗。