Python Turtle绘制五角星中间出现空心五边形,如何修复?
解决Python Turtle五角星填充空心问题
你的代码画五角星时中间出现空心,是因为turtle默认使用奇偶填充规则(even-odd),五角星的交叉路径会让中间区域被判定为不填充。只需修改填充规则为非零环绕规则(non-zero),就能让整个五角星完全填充。
修改后的完整代码:
import turtle as t def star(): t.penup() t.goto(-100,100) t.pendown() t.fillcolor('black') t.fillrule("nonzero") # 设置非零环绕填充规则 t.begin_fill() for p in range(5): t.forward(200) t.right(144) t.end_fill() t.done() # 保持窗口打开,方便查看结果 star()
加上t.done()可以让绘图窗口保持打开,避免程序结束后窗口立即关闭。
内容的提问来源于stack exchange,提问作者User102
相关产品推荐
相关产品推荐

