2011-05-16 58 views
0
import itertools 

file = open('out.txt', 'w') 
variations = itertools.product('abc', repeat=3) 

for variations in variations: 
    variation_string = "" 

    for letter in variations: 
     variation_string += letter 

    file.write(variation_string) 

file.close() 

从上面的程序的输出就像是一个群集状态:正确的输出方案

aaaaabaacabaabbabcacaacbaccbaababbacbbabbbbbcbcabcbbcccaacabcaccbacbbcbcccaccb­ccc 

你可以修改程序,以使输出将是行之后的一行是第一输出线将aaa下一行是aab和下一个会是aac等等...

aaa 
aab 
aac 
+4

“你可以修改程序”?不,我们不能。你必须做你自己的功课。 – 2011-05-16 13:07:57

回答

0

这里是一个修改后的代码,修复自动对焦除了上述问题EW其他问题:

import itertools 
with open('out.txt', 'w') as f: 
    for variation in itertools.product('abc', repeat=3): 
     f.write(str.join("", variation) + "\n") 
1

file.write后,再添file.write('\n')

0

下面是如何打印输出到stdout:

>>> for variation in itertools.product('abc', repeat=3): 
...  print(''.join(variation) + '\n'), 

其写入您的文件作为一个练习...