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

最新文章

  1. [LeetCode] Rectangle Area 矩形面积
  2. nginx.conf
  3. linux文件特殊权限
  4. Mysql数据库优化
  5. Java中abstract的用法
  6. nrf51822裸机教程-PWM
  7. 定时清理mysql数据。
  8. 单片机IO处理 电容触摸按键
  9. Java RMI 简介及其优劣势总结
  10. Delphi 内存分配 StrAlloc New(转)
  11. (转载)Oracle10g 数据泵导出命令 expdp 使用总结(三)
  12. yii2 无法显示debug条的问题解决方法
  13. CSS布局技巧大全
  14. salesforce lightning零基础学习(四) 事件(component events)简单介绍
  15. 机器学习之决策树三-CART原理与代码实现
  16. JDBC操作MySQL数据
  17. Python-Django-Djangorestframwork
  18. 开源CMS系统Moodle对比中国本土化开源在线教育平台EduSoho
  19. RXD, tree and sequence IN HDU6065
  20. [Web 前端] 如何在React中做Ajax 请求?

热门文章

  1. liquibase新增字段注释导致表格注释同时变更bug记录
  2. sqlmap --eval 用法
  3. ssh跳转设置
  4. 集合Collection ----Set集合
  5. 使用manacher算法解决最长回文子串问题
  6. 理解classpath
  7. 大前端快闪二:react开发模式 一键启动多个服务
  8. P6076-[JSOI2015]染色问题【组合数学,容斥】
  9. Liunx下Mysql,MongoDB性能优化的配置
  10. kubelet源码分析——监控Pod变更