nerd0711
nerd0711

Reputation: 59

Program to output letter pyramid

To print the output

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

I used the following code, but it does not work correctly.

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

For this code the obtained output is:

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

Why does each line get printed twice?

Upvotes: 0

Views: 1114

Answers (1)

C.B.
C.B.

Reputation: 8346

Whitespace. You need to increment i by 2 instead of 1. Try:

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

This will allow you to skip over the whitespace as "indices" of the string

A little more pythonic:

>>> 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

Upvotes: 2

Related Questions