【问题标题】:How to draw Circle using Turtle in Python 3如何在 Python 3 中使用 Turtle 绘制圆
【发布时间】:2018-03-23 12:52:30
【问题描述】:

这是我已经拥有的代码,但它说我需要定义我知道我需要的“多边形”,但不完全确定我一直在尝试的方式和不同的方式总是给我错误。

import turtle
import math

apple=turtle.Turtle()

def draw_circle(t, r):
    circumference = 2 * math.pi * r
    n = 50
    length = circumference / n
    polygon(t, n, length)

draw_circle(apple, 15)

turtle.exitonclick()

【问题讨论】:

  • 多边形不应该是turtle.polygon吗?
  • 不幸的是我也试过了,我得到了错误“AttributeError:模块'turtle'没有属性'polygon'”
  • 看来您正在学习教程。可以附上链接吗?
  • 当您说需要“定义多边形”时,您是希望导入其他人的函数来创建多边形还是尝试从头开始编写自己的函数?
  • 我只是想我必须包含那个多边形才能将我的 t、n 和长度合并在一起,但如果是这样,那么我可以把它拿出来。我运行了 uphill 的版本(下面的评论),它运行得很好,但我只是想尽可能地为其添加更多自定义。

标签: python python-3.x geometry turtle-graphics


【解决方案1】:

使用圆法

import turtle
import math

apple=turtle.Turtle()

def draw_circle(t, r):
    turtle.circle(r)

draw_circle(apple, 15)

turtle.exitonclick()

【讨论】:

  • 参数t是干什么用的?
  • 是的,你不需要它
【解决方案2】:

如果你真的需要定义一个多边形。

from turtle import *
import math

apple = Turtle()

def polygon(t, n, length):
    for i in range(n):
        left(360/n)
        forward(length)

def draw_circle(t, r):
    circumference = 2 * math.pi * r
    n = 50
    length = circumference / n
    polygon(t, n, length)
    exitonclick()

draw_circle(apple, 30)

【讨论】:

    【解决方案3】:

    这是一个多边形的函数:

    def drawPolygon (ttl, x, y, num_side, radius):
      sideLen = 2 * radius * math.sin (math.pi / num_side)
      angle = 360 / num_side
      ttl.penup()
      ttl.goto (x, y)
      ttl.pendown()
      for iter in range (num_side):
        ttl.forward (sideLen)
        ttl.left (angle)
    

    这是你如何使用它:

    def main():
      # put label on top of page
      turtle.title ('Figures')
    
      # setup screen size
      turtle.setup (800, 800, 0, 0)
    
      # create a turtle object
      ttl = turtle.Turtle()
    
      # draw equilateral triangle
      ttl.color ('blue')
      drawPolygon (ttl, -200, 0, 3, 50)
    
      # draw square
      ttl.color ('red')
      drawPolygon (ttl, -50, 0, 4, 50)
    
      # draw pentagon
      ttl.color ('forest green')
      drawPolygon (ttl, 100, 0, 5, 50)
    
      # draw octagon
      ttl.color ('DarkOrchid4')
      drawPolygon (ttl, 250, 0, 8, 50)
    
      # persist drawing
      turtle.done()
    
    main()
    

    别忘了加import turtle, math

    【讨论】:

    • 谢谢!比我现在的关卡复杂一点,我现在是veeeeery入门级哈哈
    • 没问题:-)。如果您在任何部分需要帮助,请告诉我。
    猜你喜欢
    • 1970-01-01
    • 2014-08-29
    • 2013-12-02
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 2018-01-01
    相关资源
    最近更新 更多