Python 乌龟对角线长度错误?
Python Turtle diagonal lines wrong length?
当尝试绘制一个带有对角线的正方形时,该线没有以正确的长度呈现。
代码:
import turtle
i = 0
while i < 4:
turtle.forward(100)
turtle.left(90)
turtle.left(135)
turtle.forward(100)
循环应该(并且确实)绘制了一个完美的正方形。
以下两行应将乌龟转向正确的方向以获得对角线(它确实如此)。
我的几何知识告诉我,在正方形中,对角线的长度等于边长。
这个例子没有完成这个。对角线在其路径的大约 2/3 处停止。如果我让乌龟前进 145 步,它就会起作用——但这对我来说完全是胡说八道。我想在学生的学校课程中使用它,但我无法理解这个问题。
有什么想法吗?
不知道为什么,但在我的电脑上旋转 135 并没有把线放在正方形内。
这是我做的
import turtle
from math import sqrt
side = 100
turn_angle = 90
for i in range(4):
turtle.forward(side)
turtle.left(turn_angle)
turtle.left(0.5*turn_angle)
turtle.forward(side*sqrt(2))
turtle.mainloop()
做这个
当尝试绘制一个带有对角线的正方形时,该线没有以正确的长度呈现。 代码:
import turtle
i = 0
while i < 4:
turtle.forward(100)
turtle.left(90)
turtle.left(135)
turtle.forward(100)
循环应该(并且确实)绘制了一个完美的正方形。 以下两行应将乌龟转向正确的方向以获得对角线(它确实如此)。
我的几何知识告诉我,在正方形中,对角线的长度等于边长。
这个例子没有完成这个。对角线在其路径的大约 2/3 处停止。如果我让乌龟前进 145 步,它就会起作用——但这对我来说完全是胡说八道。我想在学生的学校课程中使用它,但我无法理解这个问题。
有什么想法吗?
不知道为什么,但在我的电脑上旋转 135 并没有把线放在正方形内。
这是我做的
import turtle
from math import sqrt
side = 100
turn_angle = 90
for i in range(4):
turtle.forward(side)
turtle.left(turn_angle)
turtle.left(0.5*turn_angle)
turtle.forward(side*sqrt(2))
turtle.mainloop()
做这个