2011-05-16 103 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'), 

其寫入您的文件作爲一個練習...