python turtle库的自带效果

turtle库大家都很熟悉了,今天我不是来介绍他的用法,而是他本身的效果。

C:\Program Files\Python35\Lib\turtle.py

这个是turtle库在我电脑里面的地址,用IDLE打开它。

然后运行它

大家也可以用以下代码试一试(从turtle.py粘出来的)

import tkinter as TK
import types
import math
import time
import inspect
import sys

from os.path import isfile, split, join
from copy import deepcopy
from tkinter import simpledialog
from turtle import *
if __name__ == "__main__":
    def switchpen():
        if isdown():
            pu()
        else:
            pd()

    def demo1():
        """Demo of old turtle.py - module"""
        reset()
        tracer(True)
        up()
        backward(100)
        down()
        # draw 3 squares; the last filled
        width(3)
        for i in range(3):
            if i == 2:
                begin_fill()
            for _ in range(4):
                forward(20)
                left(90)
            if i == 2:
                color("maroon")
                end_fill()
            up()
            forward(30)
            down()
        width(1)
        color("black")
        # move out of the way
        tracer(False)
        up()
        right(90)
        forward(100)
        right(90)
        forward(100)
        right(180)
        down()
        # some text
        write("startstart", 1)
        write("start", 1)
        color("red")
        # staircase
        for i in range(5):
            forward(20)
            left(90)
            forward(20)
            right(90)
        # filled staircase
        tracer(True)
        begin_fill()
        for i in range(5):
            forward(20)
            left(90)
            forward(20)
            right(90)
        end_fill()
        # more text

    def demo2():
        """Demo of some new features."""
        speed(1)
        st()
        pensize(3)
        setheading(towards(0, 0))
        radius = distance(0, 0)/2.0
        rt(90)
        for _ in range(18):
            switchpen()
            circle(radius, 10)
        write("wait a moment...")
        while undobufferentries():
            undo()
        reset()
        lt(90)
        colormode(255)
        laenge = 10
        pencolor("green")
        pensize(3)
        lt(180)
        for i in range(-2, 16):
            if i > 0:
                begin_fill()
                fillcolor(255-15*i, 0, 15*i)
            for _ in range(3):
                fd(laenge)
                lt(120)
            end_fill()
            laenge += 10
            lt(15)
            speed((speed()+1)%12)
        #end_fill()

        lt(120)
        pu()
        fd(70)
        rt(30)
        pd()
        color("red","yellow")
        speed(0)
        begin_fill()
        for _ in range(4):
            circle(50, 90)
            rt(90)
            fd(30)
            rt(90)
        end_fill()
        lt(90)
        pu()
        fd(30)
        pd()
        shape("turtle")

        tri = getturtle()
        tri.resizemode("auto")
        turtle = Turtle()
        turtle.resizemode("auto")
        turtle.shape("turtle")
        turtle.reset()
        turtle.left(90)
        turtle.speed(0)
        turtle.up()
        turtle.goto(280, 40)
        turtle.lt(30)
        turtle.down()
        turtle.speed(6)
        turtle.color("blue","orange")
        turtle.pensize(2)
        tri.speed(6)
        setheading(towards(turtle))
        count = 1
        while tri.distance(turtle) > 4:
            turtle.fd(3.5)
            turtle.lt(0.6)
            tri.setheading(tri.towards(turtle))
            tri.fd(4)
            if count % 20 == 0:
                turtle.stamp()
                tri.stamp()
                switchpen()
            count += 1
        tri.write("CAUGHT! ", font=("Arial", 16, "bold"), align="right")
        tri.pencolor("black")
        tri.pencolor("red")

        def baba(xdummy, ydummy):
            clearscreen()
            bye()

        time.sleep(2)

        while undobufferentries():
            tri.undo()
            turtle.undo()
        tri.fd(50)
        tri.write("  Click me!", font = ("Courier", 12, "bold") )
        tri.onclick(baba, 1)

    demo1()
    demo2()
    exitonclick()

 (为什么我不能上传视频!)

额,我录了一个视频,上传不了,sorry!

以上(除了上面两句)就是全部内容了,总体来说,海龟自带的还是挺有趣的。

### 下载并安装 Pythonturtle 通常情况下,`turtle` 是 Python 自带的标准之一,在大多数环境中无需额外安装即可直接使用[^1]。然而,如果遇到特殊情况需要单独安装 `turtle` 或者解决某些环境中的兼容性问题,则可以按照以下方法操作。 #### 方法一:通过 pip 安装 对于非标准版本的 `turtle`(例如特定第三方实现),可以通过 `pip` 工具来完成安装。执行如下命令: ```bash pip install turtle ``` 需要注意的是,官方推荐使用的 `turtle` 版本可能并不适用于所有场景,因此可能会出现一些不兼容的情况。在这种情况下,建议参考具体报错信息调整安装方式或者尝试其他替代方案[^3]。 #### 方法二:手动下载与安装 当通过 `pip` 遇到困难时,可以选择手动下载对应版本的 `.whl` 文件或者其他形式分发包来进行本地化处理。以下是基本流程描述: 1. 前往 PyPI 平台或其他可信资源站点定位目标软件包; 2. 找到适合当前系统的发行版链接地址进行下载; 3. 解压缩已获取档案至指定目录下; 4. 修改其中涉及配置脚本部分以适配实际需求; 5. 使用命令行工具重新构建项目结构树直至成功加载模块为止。 例如,针对某个特殊版本号为 `0.0.2` 的情况,可参照下面步骤实施修复措施[^4]: ```bash wget https://files.pythonhosted.org/packages/source/t/turtle/turtle-0.0.2.tar.gz tar -xzf turtle-0.0.2.tar.gz cd turtle-0.0.2/ nano setup.py # 编辑此文件修正潜在缺陷 python setup.py install ``` 以上两种途径均能有效达成目的,但需依据个人偏好以及所处开发环境下做出合理抉择。 ### 注意事项 尽管上述指导能够帮助解决问题,但在多数常规情形之下,用户应当优先验证自身 python 发行版是否已经预置该功能组件,因为这往往是最简便快捷的办法[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值