zoukankan      html  css  js  c++  java
  • Python课程笔记(七)

    今天学习神奇的海龟,非常有意思,还有很多图片想去绘制,分享一个turtle绘图网站: https://www.python123.io/index/turtles/latest , 要是可以分享出源码就好了。


    1、海龟画三角形

    先来一个简单的三角形,观察left函数和right函数的区别。

    from turtle import *
    
    forward(200)
    left(120)
    forward(200)
    left(120)
    forward(200)
    left(120)
    
    done()
    

    稍作修改呢

    from turtle import *
    
    forward(200)
    right(120)
    forward(200)
    right(120)
    forward(200)
    right(120)
    
    done()
    

    2、海龟画一个正方形

    from turtle import *
    '''
    练习1:画一个正方形,从原点(0,0)出发,前进100,左转90度,
    前进100,左转90度,前进100,左转90度,前进100,左转90度。
    '''
    
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    left(90)
    
    done()
    

    3、海龟画凸形

    画懂该图形,海龟的方向我们一定就能掌握了。

    不嫌麻烦的画了一个转向图,便于理解:

    from turtle import *
    
    forward(50)
    left(90)
    forward(50)
    right(90)
    forward(50)
    left(90)
    forward(50)
    right(90)
    forward(50)
    right(90)
    forward(50)
    left(90)
    forward(50)
    right(90)
    forward(50)
    left(90)
    forward(50)
    
    done()
    

    4、海龟画五角星

    from turtle import *
    
    forward(200)
    right(144)
    forward(200)
    right(144)
    forward(200)
    right(144)
    forward(200)
    right(144)
    forward(200)
    
    done()
    

    5、海龟的速度

    先来体验看看!在此请copy观赏

    from turtle import *
    
    speed(1)
    forward(200)
    right(120)
    speed(5)
    forward(200)
    right(120)
    speed(10)
    forward(200)
    

    取值范围在[0,10],speed越大画笔完成动作的速度越快。在这里测试,我个人感觉0的速度和10的速度一样(其实0是直接构建图形喽?)。当给定值大于10或者小于0.5,则统一设置为0

    6、海龟走坐标

    goto(x,y) 根据坐标来绘图

    from turtle import *
    
    goto(100,0)
    goto(100,100)
    goto(-100,100)
    goto(-100,-100)
    goto(100,-100)
    
    done()
    

    7、海龟画太阳

    学会运用循环,再加上颜色,构建有难度的图形

    from turtle import *
    
    '''
    turtle是python绘制图形时使用的一个函数库,abs(pos())是使用turtle绘图时用的一个语句。
    abs:绝对值   pos:位置
    abs(pos())<10: 可理解为 画笔所处位置的坐标,距离原点(0,0)的距离的绝对值小于10
    '''
    
    color('red', 'yellow')
    begin_fill()
    while True:
        forward(200)
        left(170)
        if abs(pos()) < 10:
           break
    end_fill()
    done()
    

    8、自行完成一幅作品

    根据网上作品学习改编了一哈,一款纪念作。

    from turtle import *
    
    bgcolor("black")
    hideturtle()
    penup()
    width(3)
    goto(-200,0)
    color("gold")
    
    
    goto(-204,-12)
    begin_fill()
    fillcolor("purple")
    pendown()
    right(90)
    forward(160)
    right(128)
    forward(20)
    right(45)
    forward(112)
    goto(-204,-12)
    end_fill()
    
    penup()
    goto(-204,0)
    pendown()
    begin_fill()
    fillcolor("purple")
    setheading(155)
    forward(112)
    left(133)
    forward(32)
    left(30)
    forward(68)
    goto(-204,0)
    end_fill()
    
    penup()
    goto(-204,8)
    pendown()
    begin_fill()
    fillcolor("purple")
    setheading(90)
    forward(32)
    left(67)
    forward(80)
    left(42)
    forward(28)
    goto(-204,8)
    end_fill()
    
    penup()
    goto(-196,-12)
    begin_fill()
    fillcolor("purple")
    pendown()
    setheading(270)
    forward(160)
    left(128)
    forward(20)
    left(45)
    forward(112)
    goto(-196,-12)
    end_fill()
    
    penup()
    goto(-196,0)
    pendown()
    begin_fill()
    fillcolor("purple")
    setheading(25)
    forward(112)
    right(133)
    forward(32)
    right(30)
    forward(68)
    goto(-196,0)
    end_fill()
    
    penup()
    goto(-196,8)
    pendown()
    begin_fill()
    fillcolor("purple")
    setheading(90)
    forward(32)
    right(67)
    forward(80)
    right(42)
    forward(28)
    goto(-196,8)
    end_fill()
    
    penup()
    color("purple")
    goto(0,0)
    write("manba out forever", font=('Consolas', 24, 'normal'))
    goto(80,-50)
    write("1.26", font=('Consolas', 24, 'normal'))
    
    
    done()
    
  • 相关阅读:
    HttpWebRequest 改为 HttpClient 踩坑记-请求头设置
    [k8s]docker calico网络&docker cluster-store
    [k8s]jenkins部署在k8s集群
    [k8s]zookeeper集群在k8s的搭建(statefulset模式)-pod的调度
    [svc]cisco ipsec使用证书认证
    [svc]数字证书基础知识
    [svc]logstash和filebeat之间ssl加密
    [svc]cfssl模拟https站点-探究浏览器如何校验证书
    [svc] cisco router as ca server
    [svc]对称加密/非对称加密细枝末节-如何做到数据传输的authentication/data integrity/confidentiality(私密)
  • 原文地址:https://www.cnblogs.com/wangzheming35/p/12661327.html
Copyright © 2011-2022 走看看