您已經編寫了正確的代碼來生成一個圓。從烏龜自己的circle()
方法來看,一個圓只是一個具有60個邊的多邊形(如果圓很小,則會減少)。這是關於知覺和你需要多少方面,然後才能分辨不同。
import turtle
def polygon(t, length, n):
for _ in range(n):
t.fd(length)
t.lt(360/n)
bob = turtle.Turtle()
bob.penup()
bob.sety(-270)
bob.pendown()
polygon(bob, 30, 60)
turtle.mainloop()
你的問題,現在是控制多邊形/圓的繪製與特定半徑生產。您的length
參數不會映射到半徑,因爲圓圈出現太大。這裏length
代表圓周的1/60(1/N),我們知道:
circumference = 2 * math.pi * radius
我們可以計算一下,在我們的circle(t, radius)
功能,給予什麼length
需求radius
(即circumference/n
),並用這些參數調用polygon(t, length, n)
。這裏有一個直觀的比較繪製半徑100圈與烏龜的circle()
方法(紅色),並與解決方案圖紙,我只是描述(藍色):
我投票關閉這一問題作爲題外話,因爲這似乎是功課。 –
@HannounYassir,這是一個正確的理由來關閉這個問題給出[可以問作業](https://meta.stackoverflow.com/q/334822/5771269)社區政策嗎?這篇文章展示了迄今爲止解決這個問題所做的工作,並且在描述解決這個問題的困難時只是略微缺乏。你從事哪些問題指導方針? – cdlane
@cdlane給我的作業答案可能會對學生造成更多的傷害而不是好處。話雖如此,如果有足夠的合理的嘗試來解決問題,我認爲可以提供幫助。 –