zoukankan      html  css  js  c++  java
  • turtle库的应用

    turtle库介绍

    1、Turtle中的turtle.setup()函数用于启动一个图形窗口,它有四个参数

    turtle.setup(width, height, startx, starty)

    分别是:启动窗口的宽度高度表示窗口启动时,窗口左上角在屏幕中的坐标位置。 

    我们所使用的显示屏幕也是一个坐标系,该坐标系以左上角为原点,向左和向下分别是x轴和y轴。蟒蛇程序代码启动一个1300像素宽、800像素高的窗,该窗口的左上角是屏幕的左上角。 

    (startx,starty)表示画的初始点,(0,0)表示位于电脑屏幕中心

    2、Turtle中的turtle.pensize()函数表示小乌龟运动轨迹的宽度。 

    3、Turtle中的turtle.pencolor()函数表示小乌龟运动轨迹的颜色。

    它包含一个输入参数,这里我们把它设为蓝色,blue,其他颜色单词也可以使用。Turtle采用RGB方式来定义颜色,如果希望获得和图片中颜色一致的小蛇,请输入turtle.pencolor(“#3B9909”) 

    4、Turtle中的turtle.seth(angle)函数表示小乌龟启动时运动的方向。它包含一个输入参数,是角度值。

    其中,0表示向东,90度向北,180度向西,270度向南;负值表示相反方向。程序中,我们让小乌龟向-40度启动爬行,即:向东南方向40度。 

    5、turtle.circle()函数让小乌龟沿着一个圆形爬行

    参数rad描述圆形轨迹半径的位置,这个半径在小乌龟运行的左侧,rad远位置处。如果 rad为负值,则半径在小乌龟运行的右侧, 参数angle表示小乌龟沿着圆形爬行的弧度值。 

    6、turtle.fd()函数也可以用turtle.forward()表示乌龟向前直线爬行移动表示小乌龟向前直线爬行移动,

    它有一个参数表示爬行的距离 

    7、详细参数描述

    程序1

    复制代码
    import turtle
    
    def drawSnake(rad,angle,num,neckrad):
        for i in range(num):
            turtle.circle(rad,angle)
            turtle.circle(-rad,angle)
        turtle.circle(rad,angle/2)
        turtle.fd(rad)
        turtle.circle(neckrad+1,180)
        turtle.fd(rad*2/3)
    
    def main():
        turtle.setup(1300,800,0,0)
        pythonsize=30
        turtle.pensize(pythonsize)
        turtle.pencolor('blue')
        turtle.seth(-40)
        drawSnake(40,80,3,pythonsize/2)
    main()
    复制代码

    2、更改颜色

     3、三角形

    复制代码
    import turtle
    turtle.setup(1000,1000,0,0)
    size=20
    turtle.pensize(size)
    turtle.color("red")
    length=200
    turtle.seth(0)
    turtle.fd(length)
    turtle.seth(120)
    turtle.fd(length)
    turtle.seth(240)
    turtle.fd(length)
    复制代码

    4、五角星

    复制代码
    from turtle import *
    color("yellow","red")
    pensize(10)
    begin_fill()#和end_fill成对出现,填充起点和终点
    while True:
        forward(200)
        right(144)
        if abs(pos())<1:#获取位置的绝对值
            break
    end_fill()
    复制代码

    复制代码
    import turtle
    
    turtle.pensize(10)
    turtle.fillcolor("red")
    turtle.begin_fill()
    for i in range(5):
        turtle.fd(200)
        turtle.right(144)
    turtle.end_fill()
    复制代码

    比较上面两段代码,第一种通过计算位置距离结束while循环,第二种通过确定数目的if循环结束程序。

    第一种通过from turtle import * 引入turtle库,程序中调用函数,不用再加turtle.前缀,第二种通过import turtle引入turtle库,调用函数需要加turtle.前缀。

    5、太阳花

    复制代码
     1 from turtle import *
     2 color("yellow","red")
     3 pensize(3)
     4 begin_fill()#和end_fill成对出现,填充起点和终点
     5 while True:
     6     forward(200)
     7     right(165)
     8     if abs(pos())<1:#获取位置的绝对值
     9         break
    10 end_fill()
    复制代码

    更改旋转角度,得到漂亮的花

  • 相关阅读:
    计算机二进制总结
    java-集合排序,队列,散列表map以及如何遍历
    java-Collection,List简单使用与方法/(集合使用-中)
    java-Date类与集合(上)
    java-正则、object中的两个方法的使用
    java-注释、API之字符串(String)
    Java-面向对象三大特征、设计规则
    java-多态、内部类
    java-修饰词、抽象类、抽象方法
    java-重载、包修饰词以及堆栈管理
  • 原文地址:https://www.cnblogs.com/0609hlz/p/10708313.html
Copyright © 2011-2022 走看看