首页 > 解决方案 > 螺旋遍历巨蟒

问题描述

在过去的几天里,我一直在努力解决这个问题。它确实有效,但不是我想要的方式。问题是它从左上角(图 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)

实际输出是第一张图片,但我希望它像第二张图片一样,它从右下角而不是左上角开始螺旋:

][1]][1]1

:

标签: pythonturtle-graphicspython-turtle

解决方案


你只是失踪tur.setheading(180)tur.setpos()

从文档:

将海龟的方向设置为 to_angle:一些常见的角度,以度为单位

0: East
90: North
180: West
270: South

推荐阅读