2016-03-10 43 views
1

當試圖用一條對角線畫一個正方形時,該線不會以正確的長度呈現。 代碼:Python龜對角線錯誤的長度?

import turtle 
i = 0 
while i < 4: 
    turtle.forward(100) 
    turtle.left(90) 
turtle.left(135) 
turtle.forward(100) 

循環應該(和做)畫一個完美的正方形。 以下兩行應該將龜轉向對角線的正確方向(並且這樣做)。

我的幾何知識告訴我,在一個正方形中,對角線的長度等於邊的長度。

這個例子沒有完成這個。對角線停在約2/3的路上。如果我將烏龜向前推進145步,它就會有效 - 但這對我來說完全是無稽之談。我想在學校的課堂上爲學生使用這個,我不明白這個問題。

任何想法?

+1

「對角線的長度等於邊長」 - 不正確的。對角線的長度是'sqrt(2)* side' –

+0

哦,閣下謝謝。受到我舊思維的欺騙。 – Franz

+0

好醇'畢達哥拉斯定理在工作。 –

回答

2

不知道爲什麼,但在我的計算機轉過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() 

,使此

turtle square with line