Python Turtle 笔记

文章目录

  • Turtle
    • 新建turtle对象
    • 画正方形
    • 画圆形
    • 画圆弧
    • 完整代码

Turtle

龟图形是一种向孩子介绍编程的流行方式。它是Wally Feurzeig,Seymour Papert和Cynthia Solomon在1967年开发的原始徽标编程语言的一部分。

官方文档:https://docs.python.org/3/library/turtle.html

在线调试网址: https://repl.it/languages/python_turtle

新建turtle对象

import turtle
import math 
bob = turtle.Turtle()

ps:math是为了后续调进行计算的操作

画正方形

def rectangle(t,length):
  for i in range(4):
    t.fd(length)
    t.lt(90)
  • fd->forward->向前移动

  • lt->left turn->左转

画圆形

def circle(t,r):
  n_of_edge=70
  circle_length = 2*math.pi*r
  angle = 360.0/n_of_edge
  length_of_edge = circle_length/n_of_edge
  for _ in range(int(n_of_edge)):
    t.fd(length_of_edge)
    t.lt(angle)
  • fd->forward->向前移动

  • lt->left turn->左转

此时的圆形只是近似生成。

我们知道如果一个有方向的箭头,围绕着圆形的切线方向走一圈,会回到原始的朝向,任意给定一个零度的参考,他将回到最开始的角度。

也就是说他在整个圆上走一圈,转了360度。

我们画一个圆形其实是一种近似的思想。边越多越接近一个圆形。假设每个圆形上有70条边,那么每次转动的角度就是 360 70 \frac{360}{70} 70360 .

又因为圆形的半径(radious)为 r r r, 那么周长就是 2 × π × r 2\times \pi \times r 2×π×r

每次调用fd向当前方向前进的距离,也就是每条边的长度为: 2 × π × r 70 \frac{2\times \pi \times r}{70} 702×π×r.

画圆弧

def arc(t,r):
  n_of_edge=700
  circle_length = 2*math.pi*r
  angle = 360.0/n_of_edge
  length_of_edge = circle_length/n_of_edge
  for _ in range(int(n_of_edge)/2):
    t.fd(length_of_edge)
    t.lt(angle)
  • fd->forward->向前移动

  • lt->left turn->左转

画圆弧只需要控制前进,旋转组合的执行次数即可。

即控制for循环的执行次数。

完整代码



import turtle
import math 
bob = turtle.Turtle()

def rectangle(t,length):
  for i in range(4):
    t.fd(length)
    t.lt(90)

def circle(t,r):
  n_of_edge=70
  circle_length = 2*math.pi*r
  angle = 360.0/n_of_edge
  length_of_edge = circle_length/n_of_edge
  for _ in range(int(n_of_edge)):
    t.fd(length_of_edge)
    t.lt(angle)
  
def arc(t,r):
  n_of_edge=700
  circle_length = 2*math.pi*r
  angle = 360.0/n_of_edge
  length_of_edge = circle_length/n_of_edge
  for _ in range(int(n_of_edge)/2):
    t.fd(length_of_edge)
    t.lt(angle)

# circle(bob,70)
arc(bob,70)
# rectangle(bob,60)

你可能感兴趣的:(python)