用星号制作Python中的八边形

时间:2017-10-02 12:25:38

标签: 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('*' * ((oct_length * 2)))
for i in range(oct_length):
    print(' ' * (i+1) + '*' * ((oct_length-i)*2))

提前致谢

1 个答案:

答案 0 :(得分:1)

以下是对您的解决方案的编辑:

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的八边形的示例输出:

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