字符串中的字母金字塔

时间:2018-10-14 06:38:16

标签: python

我已经开始使用Python进行编程,我做了一个简单的程序来绘制金字塔形状的星星:

print("Put in the number of stars")
row = int(input())
letters = "python"

for i in range(row):
    stars = i*2-1
    spaces = row - i
    print(" "* spaces + "*"* stars)

我如何用python而不是星星这个金字塔呢?我的意思是:

     p
    pyt
   python
 pythonpyt
pythonpytho

以此类推?

感谢帮助人员。

2 个答案:

答案 0 :(得分:2)

您可以使用itertools.cycleitertools.islice来构建行:

from itertools import islice, cycle

n = 5

for i in range(n):
    print((n-i)*' ' + ''.join(islice(cycle('python'), 2*i+1)))

打印:

     p                                                                                                              
    pyt                                                                                                             
   pytho                                                                                                            
  pythonp                                                                                                           
 pythonpyt                                                                                                          

答案 1 :(得分:0)

对原始帖子的修改:

print("Put in the number of stars")
row = int(input())
letters = "python"
l = letters * row

for i in range(1, row + 1):
    stars = i*2-1
    p = l[0:stars]
    spaces = row - i
    print(" "* spaces + p)

输出:

Put in the number of stars
10
         p
        pyt
       pytho
      pythonp
     pythonpyt
    pythonpytho
   pythonpythonp
  pythonpythonpyt
 pythonpythonpytho
pythonpythonpythonp