zoukankan      html  css  js  c++  java
  • turtle库的使用_第2周

    turtle蟒蛇绘制

    在MOOC上学了turtle库的绘图功能之后,便被python的强大而震撼,即使说python是当今世界唯一的超级语言也不为过。它所包含的第三方库,比其他编程语言加起来都要多,可以满足各个行业的各种需求,而且他最大的特点就是语法简单,强制的格式控制使得代码写出来甚是美观,得到了广泛应用。甚至还有人发出了“人生苦短,我学Python”的感叹!

    因为只是Python刚入门的小白,对turtle的使用只是初涉皮毛,看到那些大佬们画的玫瑰花,卡通人物,甚至一座城市,一颗樱花树,只会暗自羡慕,但是不急,来日方长嘛,先从简单的学起吧!

    话不多说,先上代码!

    import turtle
    turtle.setup(650, 350, 200, 200)
    turtle.penup()
    turtle.fd(-250)
    turtle.pendown()
    turtle.pensize(25)
    turtle.pencolor("purple")
    turtle.seth(-40)
    for i in range(4):
        turtle.circle(40, 80)
        turtle.circle(-40, 80)
    turtle.circle(40, 80/2)
    turtle.fd(40)
    turtle.circle(16, 180)
    turtle.fd(40 * 2/3)
    turtle.done()
    

    英语好的都知道turtle是海龟的意思,所以,我们就可以想象画布的正中间有一个趴着的海龟,它的爬行、飞行、转弯、甚至大小,都由你来控制。
    短短16行控制海龟的代码,就绘制出了上图所示的与蟒蛇神似的“蟒蛇”!

    代码分析

    1.导入第三方库

    保留字 格式 例子 说明
    import import <库名> import turtle 后续调用库中函数时,必须加上库名。如:turtle.penup()
    import、from from <库名> import* from turtle import* 后续调用库中函数时,不用加上库名。如:penup()
    import、as import <库名> as <函数名> import turtle as t 后续调用库函数时,可使用t作为函数名。如:t.penup()

    对于这三种方法而言,我的想法是,初学者比较适合第一种,虽说有点麻烦,但有助于加深对turtle库以及库内函数的印象,不易出错。等熟练了之后,可以尝试第二种,但当代码量过长时,第二种就容易与自己自定义的函数重名,所以这个时候就需要第三种了。它们各有各的优缺点,选择合适的便可。

    2.turtle窗体设置

    turtle.setup(width,height,startx,starty)//设置窗体大小及相对屏幕位置,其中后两个参数可选,并且此函数不是必须的
    

    3.turtle画笔控制函数

    turtle.penup()/turtle.pu()//抬起画笔,海龟在飞行
    turtle.pendown()/turtle.pd()//落下画笔,海龟在爬行
    turtle.pensize(width)/turtle.width(width)//画笔宽度,海龟腰围
    turtle.pencolor(color)//画笔颜色,海龟在涂装,其中,color可以是颜色字符,如:"purple";也可以是RGB值,如:0.63,0.13,0.94;还可以是元组值,如:(0.63,0.13,0.94)
    

    4.turtle运动控制函数

    turtle.forward(d)/turtle.fd(d)//向前走,其中d可正可负
    turtle.back(d)/turtle.bk(d)//向后走,其中d可正可负
    turtle.circle(r,extent)//表示以r为半径曲线走弧度extent,圆心默认在左边,若r为负,则在右边
    

    5.turtle方向控制函数

    turtle.setheading(angle)/turtle.seth(angle)//改变行进方向,但不行进,绝对角度
    turtle.left(angle)//左转,海龟角度
    turtle.right(angle)//右转,海龟角度
    

    6.循环语句

    for <变量> in range(<参数>):
        <被循环执行的语句>//range()函数:range(N):产生0到N-1的整数序列/range(M,N)//产生M到N-1的整数序列
    

    7.停止语句

    turtle.done()//使程序运行后不会自动退出,而是手动关闭
    

    绘图尝试

    学了turtle一些简单的用法之后,就对它产生了浓厚的兴趣。因为不管是哪种语言,在编程的时候,最吸引我的,不是多么精妙的算法,也不是多么整齐的代码,而是能出来窗体,能进行人机交互。
    所以我自己也尝试了一下,代码不长,一个简单的几何图形。

    import turtle
    turtle.setup(300,300)
    turtle.penup()
    turtle.fd(-100)
    turtle.pendown()
    
    turtle.pensize(10)
    str_color=["pink","purple","red","green","blue","orange","black","yellow","gray","cyan","brown","tan","beige","chocolate","magenta","khaki","seashell","ivory","tomato","gold","turquoise"]
    for i in range(20):
        turtle.pencolor(str_color[i])
        turtle.fd(200)
        turtle.right(162)
    turtle.done()
    

  • 相关阅读:
    Linux 文件 目录结构探索
    实践 : Ubuntu 上 Testlink 部署
    Linux 查找安装包所在目录的常用方法
    selenium + python 测试环境搭建 (WINDOWS)
    EntityFramework 学习 一 Entity Framework结构体系
    castle windsor学习-------Container Events 容器的事件
    castle windsor学习----ComponentModel construction contributors
    castle windsor学习----- CastleComponentAttribute 特性注册
    castle windsor学习-----Inline dependencies 依赖
    castle windsor学习-----Registering components by conventions
  • 原文地址:https://www.cnblogs.com/eternal-pig/p/py_2.html
Copyright © 2011-2022 走看看