当前位置:   article > 正文

|Python新手小白低级教程之项目篇——turtle库|第四章:turtle库实践(1)【画金字塔、画风车、画靶子、画笑脸、画伞等】_请绘制风车草地图 python

请绘制风车草地图 python

前言

大家好,我是BoBo仔吖,好久没有学习turtle了,今天我们就来学习turtle库的进阶内容——实践。Are you exited?Let’s Go!

一、【2023.12NCT真题】画一个组合图形(画完之后隐藏画笔)

效果如下:
在这里插入图片描述
【注:小正方形边长30,中正方形边长60,大正方形边长90】
这个正方形的本质就是不断画更大的正方形,大家可以看看我写的源码,仔细品味

import turtle as t #老规矩,先把turtle变成t
t.goto(0,0)
for small in range(1,5):
    t.forward(30)
    t.left(90)
for middle in range(1, 5):
    t.forward(60)
    t.left(90)
for big in range(1, 5):
    t.forward(90)
    t.left(90)
t.hideturtle()
t.done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

中间的循环注意一下,不能设同一个变量,否则会很奇怪。
我们这里只要注意:不断增加forward的distance(边长),且左转90°。

这道题还是非常简单的,我们再来做一道练习。

【NCT真题改编】练习1:绘画如下图形

在这里插入图片描述

二、画风车

先来看一下效果:
在这里插入图片描述
【填充颜色更好看!】
源码如下:

import turtle as t
t.goto(0,0)
for s in range(1,5):
    t.forward(50)
    t.right(90)

t.forward(250)
t.left(90)
t.forward(75)
t.left(90)
t.forward(150)
t.left(90)
t.forward(75)

t.goto(0,0)
t.setheading(270)
t.forward(250)
t.left(90)
t.forward(75)
t.left(90)
t.forward(150)
t.left(90)
t.forward(75)

t.goto(0,0)
t.setheading(90)
t.forward(250)
t.left(90)
t.forward(75)
t.left(90)
t.forward(150)
t.left(90)
t.forward(75)

t.goto(0,0)
t.setheading(180)
t.forward(250)
t.left(90)
t.forward(75)
t.left(90)
t.forward(150)
t.left(90)
t.forward(75)
t.done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

好长啊~~~
我来简单讲一下原理
首先,我们的方向感长度感极其重要。
我们需要提前画好草图,这样画的话才会更有分寸。
在这里,我是按照“右→下→上→左”的方向画的。
只要理清楚这一点,就成功了一大半
然后,我们的转向非常重要,因为left和right是两种不一样的体验。

好了,这就是画风车程序(别忘了填充颜色!)

三、画一把伞

先看图片效果:
在这里插入图片描述

import turtle as t
t.pencolor('blue')
t.fillcolor('blue')
t.begin_fill()
t.goto(0,0)
t.setheading(90)
t.circle(100,180)#因为是半个圆,所以我们这里用180度
t.end_fill()
t.setheading(0)
t.pensize(3)
t.forward(100)
t.setheading(270)
t.forward(100)
t.circle(30,180)
t.hideturtle()
t.done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

OK,画伞的核心部分就是画半圆
众所周知,圆形就相当于一个周角,周角360°。而我们要画半圆,无疑是取180°
所以,我们选择了如下指令:

t.circle(100,180)
  • 1

以及:

t.circle(30,180)
  • 1

所以。只要搞定了半圆,再稍微填充、调试即可。
怎么样,是不是非常有成就感?
别急,接下来我们就来磨磨刀
在这里插入图片描述

四、练习(总)

练习2.1 画笑脸(进阶)

这次是真的脸了。
效果如下:
在这里插入图片描述
你能画出来吗?

2.2画靶子

效果如下:
在这里插入图片描述

你能画出吗?注意用同心圆!

总结

这节课我们通过实战画了6个图形,而这六个图形都是非常常见的,希望大家好好消化。
下节课,我们会画更多各式各样的图形,大家敬请期待!

最后,制作不易,别忘了一圈三连,点个关注!

Test Key

1

import turtle as t
for s in range(1,4):
    t.forward(30)
    t.left(120)
t.setheading(240)
t.backward(30)
t.setheading(240)
for m in range(1,4):
    t.forward(60)
    t.left(120) 
t.setheading(240)
for l in range(1,4):
    t.forward(90)
    t.left(120)
t.hideturtle()
t.done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

2.1

import turtle as t
t.pensize(5)  
t.color("black", "yellow")  # 设置画笔颜色
t.begin_fill()  
t.circle(100)
t.end_fill()
#画眼睛(左眼)
t.penup()  
t.goto(-40, 120)  
t.pendown()
t.pensize(2)
t.color("black", "white")
t.begin_fill()
t.circle(12)
t.end_fill()
#画眼睛(右眼)
t.penup()
t.goto(40, 120)
t.pendown()
t.color("black", "white")
t.begin_fill()
t.circle(12)
t.end_fill()
#画嘴
t.penup()
t.goto(-40, 80)
t.pendown()
t.right(90)
t.pensize(3)
t.color("black")
t.circle(40, 180)
t.hideturtle()
t.done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

2.2

import turtle as t
t.circle(100)
t.goto(0,0)

t.penup()
t.sety(50)
t.pendown()
t.circle(50)


t.pencolor('red')
t.setheading(90)
t.forward(100)
t.pencolor('black')
t.setheading(180)
t.circle(50,90)
t.pencolor('red')
t.setheading(180)
t.backward(100)
t.done()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/863816
推荐阅读
相关标签
  

闽ICP备14008679号