2014-03-05 74 views
0

要打印計劃,以輸出信金字塔

A 
A B 
A B C 
A B C D 
A B C D E 

我用下面的代碼的輸出,但它不能正常工作。

strg = "A B C D E F" 
i = 0 
while i < len(strg): 
    print strg[0:i+1] 
    print "\n" 
    i = i + 1 

對於這個代碼所獲得的輸出是:

A 


A 


A B 


A B 


A B C 


A B C 


A B C D 


A B C D 


A B C D E 


A B C D E 


A B C D E F 

爲什麼每行獲得印刷兩次?

回答

2

空白。您需要通過2遞增i代替1.嘗試:

strg = "A B C D E F" 
i = 0 
while i < len(strg): 
    print strg[0:i+2] 
    print "\n" 
    i = i+2 

這將允許您通過跳過空格作爲字符串的「指數」

一點更Python:

>>> strg = "ABCDEF" 
>>> for index,_ in enumerate(strg): 
     print " ".join(strg[:index+1]) 


A 
A B 
A B C 
A B C D 
A B C D E 
A B C D E F 
+0

非常感謝您的建議...... – nerd0711