<p>你几乎已经自己解决了,唯一缺少的是每行前面的空格</strong>。现在第一行前面有<em>n-1</em>空格,<em>n</em>是字符串的长度,第二行前面有<em>n-2</em>空格,依此类推,直到我们到达中间。中间线前面不应包含空格。在</p>
<p>当我们到达中间位置后,我们再次一次增加一个标题空格的数量。在</p>
<pre>
word=input("Enter characters: ")
length=len(word)
for i in range (0, length):
<b>for j in range(length-i-1):
print(' ', end="")</b>
for j in range(0, i+1):
print(word[j], end="")
for k in range (i-1, -1, -1):
print (word[k], end="")
print()
for l in range (length, 0, -1):
<b>for j in range(length-l+1):
print(' ', end="")</b>
for m in range (l-1, 0, -1):
print(word[m], end ="")
for n in range (0, i-1):
print(word[n], end="")
print()
</pre>
<p>不幸的是,这不是代码中唯一的问题。当你测试它时,你会得到一颗钻石,如:</p>
^{pr2}$
<pre>
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="")
for k in range (i-1, -1, -1):
print (word[k], end="")
print()
<b>for l in range (1,length):</b>
<b>for j in range(l) :</b>
print(' ', end="")
<b>for m in range (0,length-l-1):</b>
print(word[m], end ="")
<b>for n in range (length-l-1,-1,-1):</b>
print(word[n], end="")
print()
</pre>
<p>打印:</p>
<pre><code> f
fof
fooof
fooboof
foobaboof
foobaraboof
foobaboof
fooboof
fooof
fof
f
</code></pre>