用python画画(turtle库)

时间:2020-12-23 01:13:23

简介

Turtle可以帮助初学者学习基本的编程概念,例如循环和条件语句,还可以被用来进行可视化编程,例如绘制图表、图形等。在数据可视化和科学研究中,Turtle库可以帮助人们更好地理解和展示数据。

画一个正方形

  • 首先,我们需要导入turtle模块,并创建一个Turtle对象。Turtle对象可以让我们控制一个小海龟,让它在屏幕上画图。
  • 接下来,我们使用for循环来画正方形的四条边。每次循环,海龟都会向前移动100个像素,然后向右旋转90度。
  • 最后,我们关闭画笔并调用turtle.done()方法来完成绘制。
import turtle

try:
    # 创建Turtle对象
    t = turtle.Turtle()

    # 循环四次,画四条边
    for i in range(4):
        t.forward(100)  # 前进100个像素
        t.right(90)  # 向右旋转90度

except turtle.Terminator:
    # 关闭画布和Turtle对象
    t.done()

画一个五角星

  • 与画正方形类似,我们需要导入turtle模块并创建一个Turtle对象。
  • 为了画五角星,我们需要在循环中画五条边,并且每条边的角度为72度。因此,我们使用for循环循环五次,并将海龟向前移动100个像素,然后向右旋转144度。
  • 最后,我们关闭画笔并调用turtle.done()方法来完成绘制。
import turtle

try:
    # 创建Turtle对象
    t = turtle.Turtle()

    # 循环五次,画五个线段
    for i in range(5):
        t.forward(100)  # 前进100个像素
        t.right(144)  # 向右旋转144度

except turtle.Terminator:
    # 关闭画布和Turtle对象
    t.done()

画一个彩色螺旋

  • 在这个示例中,我们使用了一个颜色列表和一个随机数生成器来绘制彩色螺旋。在循环中,我们使用random.choice()方法从颜色列表中随机选择一种颜色,并将海龟向前移动一定的距离,然后向右旋转一定的角度。距离和角度随着循环次数的增加而增加,这样就能画出一个彩色螺旋。
  • 最后,我们关闭画笔并调用turtle.done()方法来完成绘制。
import turtle
import random

try:
    # 创建Turtle对象
    t = turtle.Turtle()

    # 定义颜色列表
    colors = ["red", "orange", "yellow", "green", "blue", "purple"]

    # 循环100次,画100个线段
    for i in range(100):
        # 随机选择颜色
        color = random.choice(colors)
        t.color(color)
        t.forward(i*5)  # 前进i*5个像素
        t.right(144)  # 向右旋转144度

except turtle.Terminator:
    # 关闭画布和Turtle对象
    t.done()

画一个复杂的图形

  • 这个示例中涉及到两个循环。外层循环用于画36个五角星,内层循环用于画每个五角星的五条边。
  • 在内层循环中,我们将海龟向前移动50个像素,然后向右旋转144度,循环五次,这样就能画出一个五角星。
  • 在外层循环中,我们将海龟向右旋转10度,然后再画下一个五角星。这样,我们就能画出一个由36个五角星组成的图形。
  • 最后,我们关闭画笔并调用turtle.done()方法来完成绘制。
import turtle

try:
    # 创建Turtle对象
    t = turtle.Turtle()

    # 循环36次,画36个五角星
    for i in range(36):
        # 循环五次,画一个五角星
        for j in range(5):
            t.forward(50)  # 前进50个像素
            t.right(144)  # 向右旋转144度
        t.right(10)  # 向右旋转10度

except turtle.Terminator:
    # 关闭画布和Turtle对象
    t.done()