Python使用turtle库绘制网格,补充水平线功能实现求助
turtle网格绘制补全方案
实现逻辑
- 你现有代码的垂直网格线逻辑为:固定左上角起点,每次向右偏移
cell_size的整数倍后,向下绘制贯穿整个网格的线段 - 水平网格线可以复用对称逻辑:固定左上角起点,每次向下偏移
cell_size的整数倍后,向右绘制贯穿整个网格的线段即可
调整后完整代码
import math import turtle GRID_SIZE = 600 sub_divisions = int(input("Enter the number of sub-divisions: ")) cell_size = GRID_SIZE / sub_divisions scn = turtle.Screen() dan = turtle.Turtle() dan.pu() dan.forward(GRID_SIZE/2) dan.right(90) dan.forward(GRID_SIZE/2) dan.pd() # 绘制网格外框 for i in range(4): dan.right(90) dan.forward(GRID_SIZE) # 绘制垂直网格线 for z in range(1,sub_divisions): dan.pu() dan.goto(-GRID_SIZE/2,GRID_SIZE/2) dan.pd() dan.left(90) dan.forward(cell_size * z) dan.right(90) dan.forward(GRID_SIZE) # 新增:绘制水平网格线 for z in range(1,sub_divisions): dan.pu() dan.goto(-GRID_SIZE/2,GRID_SIZE/2) dan.pd() dan.right(90) dan.forward(cell_size * z) dan.left(90) dan.forward(GRID_SIZE) scn.exitonclick()
方向控制说明
- 垂直网格线绘制时左转90度是让朝向从默认向右改为向上,移动对应距离后右转90度恢复朝下,即可向下绘制竖线
- 水平网格线绘制时右转90度是让朝向从默认向右改为向下,移动对应距离后左转90度恢复朝右,即可向右绘制水平线
内容的提问来源于stack exchange,提问作者Michelle Nguyen
相关产品推荐
相关产品推荐

