这里的新手程序员,我非常熟悉Python,但也学习了C和Java,所以3种方法都可以。
我有一串信,上面写着:
ABXDEYGH
不管怎么说,
X可能是M和N。 Y有可能是P和Q。
在这个例子中,我想基本上打印这串字母的所有可能的变体。
比如:
ABMDEPGH 阿班德普 ABMDEQGH 阿班德奇
任何帮助都将不胜感激。提前感谢
发布于 2011-11-01 21:48:16
这归结为一个简单的排列问题。你关心的是文本中可以改变的部分:变量。其余的可以忽略,直到您想要显示它。
因此,您的问题可以更简单地说明: set X中的1项和set Y中的另一项的所有可能排列是什么?这被称为跨产品,有时也被简单地称为产品。
下面是一个可能的Python解决方案:
import itertools
x = set(['M', 'N'])
y = set(['P', 'Q'])
for items in itertools.product(x, y)
print 'AB{0}DE{1}GH'.format(*items)注意,print ''.format()命令使用描述这里的"unpack参数“符号。
发布于 2011-11-01 21:35:55
你为什么不写两个循环呢?一个用X替换所有可能的字符,一个替换Y。
foreach(char c in charSet1){
// replaces X
foreach(char ch in charSet2){
// replace Y
}
}https://stackoverflow.com/questions/7973174
复制相似问题