Python中的字符串菱形模式
我希望使用Python制作菱形文本模式,但我对如何获得想要的形状有点执着Python中的字符串菱形模式,python,python-3.x,Python,Python 3.x,我希望使用Python制作菱形文本模式,但我对如何获得想要的形状有点执着 word=input("Enter characters: ") length=len(word) for i in range (0, length): for j in range(length-i-1): print(' ', end="") for j in range(0, i+1): print(word[j], end="") print() for l
word=input("Enter characters: ")
length=len(word)
for i in range (0, length):
for j in range(length-i-1):
print(' ', end="")
for j in range(0, i+1):
print(word[j], end="")
print()
for l in range (1,length):
for j in range(l) :
print(' ', end="")
for m in range (0,length-l-1):
print(word[m], end ="")
print()
此代码输出为“项目”字符串
但我希望输出如下:
p
pro
proje
project
proje
pro
p
我就是这样做的
word = "project"
index = 1
di = 2
for line in range(len(word)):
if index == len(word):
di *= -1
space = " " * (len(word) - index//2)
print(space + word[0:index])
index += di
输出:
p
pro
proje
project
proje
pro
p
我已经修改了你的代码,希望这有帮助
word=input("Enter characters: ")
length=len(word)
for i in range (0, length,2):
for j in range(length-i//2):
print(' ', end="")
for j in range(0, i+1):
print(word[j], end="")
print()
for i in range (length - 3,-1,-2):
for j in range(length-i//2):
print(' ', end="")
for j in range(0, i+1):
print(word[j], end="")
print()
为什么会有这样的循环:
表示范围(i-1,-1,-1)中的k:
?@madpysicast要反向打印单词吗?@lenik。我明白它的作用。我不明白OP为什么在明确表示他们不希望这种行为时包含它。@MadPhysical他有代码(上面列出),现在他想修改它。@lenik。如果他无意中加上这句话,我只是指出了他的问题。如果他没有花时间去理解某个地方的代码,我不想帮忙。不管怎样,我想知道为什么会有这个片段。
word=input("Enter characters: ")
length=len(word)
for i in range (0, length,2):
for j in range(length-i//2):
print(' ', end="")
for j in range(0, i+1):
print(word[j], end="")
print()
for i in range (length - 3,-1,-2):
for j in range(length-i//2):
print(' ', end="")
for j in range(0, i+1):
print(word[j], end="")
print()