我已经开始使用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
以此类推?
感谢帮助人员。
答案 0 :(得分:2)
您可以使用itertools.cycle
和itertools.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