Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的字符串菱形模式_Python_Python 3.x - Fatal编程技术网

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

我希望使用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 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()