使用for循环绘制正多边形,边数为a,(3<a<8),边长为100 边数为奇数的边用红色线绘制,偶数线用蓝色线绘制 填充颜色设置为黄色并填充图形
时间: 2024-10-04 19:01:57 浏览: 25
圆内接任意边数正多边形.rar
在Python中,我们可以使用`turtle`模块来创建这种动态图形。首先,需要导入turtle库,并通过条件判断来决定每条边的颜色和绘制方式。这里是一个示例代码:
```python
import turtle
# 设置画笔
pen = turtle.Turtle()
pen.speed(0) # 提高绘制速度
# 颜色定义
red_color = 'red'
blue_color = 'blue'
yellow_fill = 'yellow'
def draw_polygon(n, side_length):
if n % 2 == 1: # 判断边数是否为奇数
pen.color(red_color)
else:
pen.color(blue_color)
for _ in range(n): # 绘制n条边
pen.forward(side_length)
pen.right(360 / n) # 每次转向的角度
pen.fillcolor(yellow_fill) # 设置填充颜色
pen.begin_fill() # 开始填充
draw_polygon(n, side_length) # 再次绘制一遍闭合图形
pen.end_fill() # 结束填充
# 输入边数范围检查并绘制
if 3 < a < 8 and a % 2 != 0: # 确保边数在指定范围内且为奇数
draw_polygon(a, 100)
else:
print("请输入3到7之间的奇数作为边数")
# 结束窗口
turtle.done()
```
在这个代码中,我们首先定义了一个Turtle对象`pen`,然后定义了颜色变量。`draw_polygon`函数根据边数的奇偶性改变线条颜色,接着使用for循环绘制正多边形。最后,我们在满足条件的情况下调用这个函数。
阅读全文