输出字母金字塔的程序

0 投票
1 回答
1112 浏览
提问于 2025-04-17 20:58

为了输出结果

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

为什么每一行都打印了两次?

1 个回答

2

空白字符。你需要把 i 增加 2,而不是 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

撰写回答