Python中的字符串菱形模式

2024-10-02 00:24:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望使用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                                                                                                  
       p r                                                                                                 
      p r o                                                                                                
     p r o j                                                                                               
    p r o j e                                                                                              
   p r o j e c                                                                                             
  p r o j e c t                                                                                            
    p r o j e c                                                                                            
      p r o j e                                                                                            
        p r o j                                                                                            
          p r o                                                                                            
            p r                                                                                            
              p                  

但我希望输出如下:

   p
  pro
 proje
project
 proje
  pro
   p

Tags: in文本forinput模式rangelengthpro
2条回答

我就是这样做的

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()

相关问题 更多 >

    热门问题