from wonderLang import *
import math

def polygon(sides, length):
    for i in range(sides):
        forward(length)
        right(180 - ((sides - 2) * 180 / sides))

def circle(x, y, r):
    jump(x, y)
    sides = 36
    c = 2 * math.pi * r
    length = c / sides
    left_angle = (90 + (360 / sides) / 2)
    right(-left_angle)
    penup()
    forward(r)
    pendown()
    right(left_angle)
    polygon(36, length)


circle(0, 0, 100)

谢谢各位,问题已解决

3 条评论

  • @ 2022-12-6 21:44:44

    from wonderLang import * import math

    def polygon(sides,length): angle = 180 - ((sides - 2) * 180 / sides) i = 0 while i < sides: forward(length) right(angle) i = i + 1

    def circle(x,y,r): jump(x,y) sides = 36 length = (2 * math.pi * r) / sides left_angle = (90 + (360 / sides) / 2) right(-left_angle) forward(r) right(left_angle) polygon(sides,length)

    circle(0,0,100)

    • @ 2022-12-29 19:00:28

      以后尽量说清思路,不然对方只会抄代码的,另外,徐老师说了,尽量要一步一步来,否则到比赛什么的就会露馅

  • @ 2022-12-5 10:58:02
    from wonderLang import *
    import math
    
    def polygon(sides,length):
        angle = 180 - ((sides - 2) * 180 / sides)
        i = 0
        while i < sides:
            forward(length)
            right(angle)
            i = i + 1
    
    def circle(x,y,r):
        jump(x,y)
        sides = 36
        length = (2 * math.pi * r) / sides
        left_angle = (90 + (360 / sides) / 2)
        right(-left_angle)
        forward(r)
        right(left_angle)
        polygon(sides,length)
    
    circle(0,0,100)
    

    可以这样

    • @ 2022-12-4 20:58:28

      from wonderLang import * import math def polygon(x,y,sides,length): angle=180-((sides -2)*180/sides) i = 0 while i < sides: forward(length) right(angle) i = i + 1 def circle(x, y, r): jump(x,y) sides =36 length=(2 * math.pi * r)/sides left_angle = (90 + (360 / sides) / 2) right(-left_angle) forward(r) right(left_angle) polygon(x,y,sides,length)

      circle(0,0,100)

      • 1