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()

做这个