用星号制作Python中的八角形

用星号制作Python中的八角形,python,ascii-art,Python,Ascii Art,我正在尝试用Python编写一个简单的代码,用*生成一个八角形。以下是我到目前为止的代码,但显然无法正常工作: oct_length = int(input("What is the length of one side? ")) for i in range(oct_length): print(' ' * (oct_length - i-1) + '*' * (oct_length + i*2)) for i in range(oct_length-1): print('*'

我正在尝试用Python编写一个简单的代码,用*生成一个八角形。以下是我到目前为止的代码,但显然无法正常工作:

oct_length = int(input("What is the length of one side? "))
for i in range(oct_length):
    print(' ' * (oct_length - i-1) + '*' * (oct_length + i*2))
for i in range(oct_length-1):
    print('*' * ((oct_length * 2)))
for i in range(oct_length):
    print(' ' * (i+1) + '*' * ((oct_length-i)*2))

提前感谢

这里是对您的解决方案的一个编辑,应该可以使用:

oct_length = int(input("What is the length of one side? "))
for i in range(oct_length):
    print(' ' * (oct_length - i - 1) + '*' * (oct_length + i * 2))
for i in range(oct_length - 1):
    print('*' * (oct_length + (oct_length - 1) * 2))
for i in range(oct_length - 1):
    print(' ' * (i + 1) + '*' * ((oct_length - i + 1) * 2))
边为6的八角形的输出示例:

     ******
    ********
   **********
  ************
 **************
****************
****************
****************
****************
****************
****************
 **************
  ************
   **********
    ********
     ******

你能举一些预期的输入/输出组合的例子吗?一点也不明显;您应该包括您认为错误的输出。(是的,演示代码问题的责任在于您,而不是我们。)我无法集中精力解决您的问题……这不太管用。看看底部。所有行的末尾都缺少1
*
。你说得对,我刚刚修复了我的解决方案。非常感谢。