今天学习神奇的海龟,非常有意思,还有很多图片想去绘制,分享一个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()

Python课程笔记(七)的更多相关文章

  1. Python课程笔记(一)

    由于新冠状病毒的爆发,不得不在家里上网课,开课已经两个礼拜了,今天上完Python课后,准备整理一下最近学习Python的笔记. 人生苦短,我用Python 一.Hello World 初学一门新的语 ...

  2. Python学习笔记七

    面向对象编程 面向对象的特性如下: 类:具有相同属性和方法的一类事物,成为类. 对象:类的实例化后的结果,一个类可以实例化多个对象,每个对象也可以不同的属性. 封装:在类中对数据的赋值,类里面包含着类 ...

  3. Python课程笔记(十)

    不陌生,之前学习一个开源SpringBoot项目,Mysql5.5更换到5.7搞得头疼. 数据库连接的坑之前写的IDEA系列连接会遇到的问题.课程代码 今天上课就主要学习了python如何连接mysq ...

  4. Python课程笔记(九)

    本次课程主要学习了Excel和JSON格式的一些读写操作.课程代码 一.Excel数据读写操作 1.安装模块 pip install xlrd pip install xlwt 网不好可以采用三方库: ...

  5. Python课程笔记(八)

    一些简单的文件操作,学过linux的话理解感觉不会很难.课程代码 一.OS 目录方法 这个模块提供了一种方便的使用操作系统函数的方法 函数 说明 os.mkdir("path") ...

  6. Python课程笔记(六)

    今天上课补上了上次未学完比较重点的鼠标和键盘事件,同时开始学习运用turtle进行绘图. 本次课程的代码: https://gitee.com/wang_ming_er/python_course_l ...

  7. Python课程笔记 (五)

    今天主要学习图形用户界面,更多的还是要我们自己去实际操作,课仿佛上了一半就完了,分享一下课程(这里在SixthClass)的源码: https://gitee.com/wang_ming_er/pyt ...

  8. python学习笔记七 初识socket(进阶篇)

    socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...

  9. python学习笔记七--数据操作符

    一.Python表达式操作符及程序:

随机推荐

  1. Maven专题1——坐标与依赖

    1. 坐标 坐标用来唯一定位一个Maven构件: GAV(必需):groupId, artifactId, version packaging(可选): 可取值如:jar(缺省), war, pom, ...

  2. 使用Java操作Excel表格

    目录 一.配置第三方库 二.使用Apache POI API 1. 打开Excel文件 2. 选择对应的sheet 3. Sheet接口的基本使用 3.1 获取开头行和结束行 3.2 获取Row对象 ...

  3. vs code安装leetcode插件

    vs code 安装不成功啊 1.首先确保有node.js 10+,没有的话去官网下载,安装就可以,安装好之后在cmd命令行中输入: node -v 若出现相关版本信息说明安装成功 2.由于leetc ...

  4. VUE页面跳转方式

    一.to +跳转路径 <router-link to="/">跳转到主页</router-link> <router-link :to="{ ...

  5. 修改CentOS ll命令显示时间格式

    临时更改显示样式,当会话结束后恢复原来的样式: export TIME_STYLE='+%Y-%m-%d %H:%M:%S' 永久改变显示样式,更改后的效果会保存下来 修改/etc/profile文件 ...

  6. P4716-[模板]最小树形图

    正题 题目链接:https://www.luogu.com.cn/problem/P4716 题目大意 给出\(n\)个点\(m\)条边的一张有向图,求以\(r\)为根的最小外向树. \(1\leq ...

  7. P4332-[SHOI2014]三叉神经树【LCT】

    正题 题目链接:https://www.luogu.com.cn/problem/P4332 题目大意 给出\(n\)个点的一棵有根三叉树,保证每个点的儿子个数为\(3\)或者\(0\),每个叶子有一 ...

  8. Phalcon如何创建多模块并能进行访问 《Phalcon入坑指南系列 四》

    本系列目录 一.Phalcon在Windows上安装 <Phalcon入坑指南系列 一> 二.Phalcon入坑必须知道的功能<Phalcon入坑指南系列 二> 三.Phalc ...

  9. mysql的一次意外

    打开navcat连接本地mysql数据库的时候说mysql服务无法连接,切换到cmd用命令行来启动报错,发生系统错误5,查看百度,需用管理员权限运行, 用管理员运行依旧不好使 C:\WINDOWS\s ...

  10. 深入理解JAVA虚拟机《二》

    对象.内存回收和垃圾收集算法 一.引用计数算法(不可靠) 现在很多比较普遍的判断对象是否存活的算法就是引用计数算法,其大概原理是:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当 ...