python - 螺旋遍历巨蟒
问题描述
在过去的几天里,我一直在努力解决这个问题。它确实有效,但不是我想要的方式。问题是它从左上角(图 1)而不是从右下角(图 2)开始螺旋,这正是我想要的。我是初学者,对turtle的很多方法或功能一无所知,所以请用你的代码回答我的问题以便更好地理解:
import turtle
tur=turtle.Turtle()
tur.penup()
tur.setpos(-250,250)
dot_distance=15
def spiral(r,c):
#r=row,#c=col
ri=0;ci=0
#ri=row_index,ci=col_index
while(ri<r and ci<c):
for i in range(c-1,ci-1,-1):
tur.dot()
tur.forward(dot_distance)
r-=1
tur.right(90)
for i in range(r-1,ri-1,-1):
tur.dot()
tur.forward(dot_distance)
ci+=1
tur.right(90)
for i in range(ci,c):
tur.dot()
tur.forward(dot_distance)
ri+=1
tur.right(90)
for i in range(ri,r):
tur.dot()
tur.forward(dot_distance)
c-=1
tur.right(90)
spiral(20,20)
实际输出是第一张图片,但我希望它像第二张图片一样,它从右下角而不是左上角开始螺旋:
解决方案
你只是失踪tur.setheading(180)
后tur.setpos()
从文档:
将海龟的方向设置为 to_angle:一些常见的角度,以度为单位
0: East
90: North
180: West
270: South
推荐阅读
- c++ - 如何保持 C++ COM 对象的实现类的 const 正确性?
- python - 不好:无法使用 pip 安装 Dlib
- sqlite - 如何使用 typeorm 向现有实体添加新列
- reactjs - react-select 打开选项列表时不关注输入
- unit-testing - 如何为 BindJSON 设置模拟 gin.Context
- tensorflow - Tensorflow C++ 对象检测(视频)
- r - 根据给定的结构/列表从向量创建列表
- python - 用于 Teradata 的 Python pyodbc 错误 10054 连接被对等方重置
- crystal-reports - 如何复制报告?
- c++ - 调用 list.size() 方法给出错误“表达式必须具有类类型”