方法一:使用循环和条件语句
```python
def print_star(n):
for i in range(2 * n - 1):
for j in range(2 * n - 1):
if i == n - 1 or j == n - 1 or i + j == n - 1 or i - j == n - 1:
print("*", end="")
else:
print(" ", end="")
print()
n = int(input("请输入八角星的大小: "))
print_star(n)
```
方法二:使用turtle库
```python
import turtle
star = turtle.Turtle()
turtle.bgcolor("white") 设置背景色为白色
star.color("black") 设置画笔颜色为黑色
star.pensize(3) 设置画笔的粗细
for _ in range(8):
star.forward(100) 向前移动100个像素
star.right(45) 右转45度
turtle.done() 关闭turtle对象
```
这两种方法都可以用来绘制八角星形图案。第一种方法使用嵌套循环和条件语句,而第二种方法使用turtle库提供的绘图功能。你可以根据自己的喜好和需求选择合适的方法。