分享

【青少年编程】【Turtle】Day6:乾坤大挪移——坐标

 老马的程序人生 2021-03-19

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。

微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。

1、坐标

地瓜:土豆土豆,我是地瓜,我现在已经被敌人包围了,请求支援。

土豆:地瓜地瓜,我是土豆,请立刻告诉我你的坐标。

什么是坐标呢?
读完上面这个对话你肯定有点感觉了吧,坐标就是一个物体在空间中的位置,比如上面飞机在天空中的位置,只有告诉友军他的位置,友军才能前去营救。

又比如说下面这个图,就是一个平面空间,我们在上面画了两根轴来帮助大家记录坐标,这两根轴就叫做坐标轴,两根轴交叉的位置记为坐标(0,0),那么怎么来读取坐标呢?其实非常简单,看【图图】对应坐标轴上的数字就可以了。

就比如这样,图图的位置分别对应横轴的1和纵轴的3,所以它的坐标是(1,3):

🚀挑战1

题目描述:请你写出图图在下图中的位置:

(对应横轴和纵轴来看哦~)

2、goto功能

那么,怎么才能帮图图到指定的坐标呢?
这就要使用到一个有趣的功能goto,它可以帮助图图去到指定的坐标位置,但是在使用之前需要记住两个重要秘诀:

「秘诀1:如果使用goto功能时没有抬笔,那么图图会向着指定的位置画过去」

这个秘诀说的是什么意思呢?我们一起来看看:

(1)goto语句的用法

t.goto(x, y)   # x,y就是对应的坐标

如果我使用下面这一段语句,你猜猜会发生什么:

t.goto(80,80)

出现了下面的图像,原因是我们让图图去坐标(80,80)的位置,所以图图就直接移动过去了,不过使用goto语句,图图的朝向是不会改变的哦!

那么,如果我想让图图「瞬间移动」过去要怎么办呢,这时候就要看秘诀2了。

「秘诀2:要让图图瞬间移动到某个坐标,而不留下痕迹,就要使用抬笔和落笔功能」

t.up()
t.goto(x,y)    # 比如t.goto(80,80)
t.down()

🚀挑战2

请你将图图「瞬间移动」到坐标为(100,100)的地方,如下图:

(提示:下图中的红色圆圈只是示意图图的初始位置,忽略就可以)

3、乾坤大挪移

有小伙伴儿会问:“乾坤大挪移是什么?”,很简单,就是让图图进行各种移动,各种来考你的题目,hiahiahiahia~

🚀挑战3

还记得小时候用过的钉板吗?我们通过钉板制作各种各样的图形,比如下面这种。

那么现在请使用goto语句,参考下面的坐标画出对应的图形:

(备注:如果画出来的图形很小,可以把坐标都放大10倍哦,比如把(1,1)改成(10,10),把(5,1)改成(50,10))

🚀挑战4

看来你已经简单了解了坐标和使用坐标的方式,那么,再来考考你吧。

题目描述:请先将图图移动到坐标为(100,100)的位置,然后画出一个边长为50的五角星

(备注:五角星的每个角都是36°,其它角的参数参考下图2)

4、参考答案

🚀挑战1

坐标是(3,3)

🚀挑战2

import turtle as t 
 
t.TurtleScreen._RUNNING = True 
t.shape(name='turtle'

t.up() 
t.goto(100,100
t.down()

t.done()

🚀挑战3

import turtle as t 
 
t.TurtleScreen._RUNNING = True 
t.shape(name='turtle'

t.up() 
t.goto(30,30
t.down()
t.goto(0,30
t.goto(10,10)
t.goto(50,10)
t.goto(60,30)
t.goto(30,30)
t.goto(30,70)
t.goto(60,50)
t.goto(30,40)

t.done()

🚀挑战4

import turtle as t 
 
t.TurtleScreen._RUNNING = True 
t.shape(name='turtle'

t.up() 
t.goto(100,100
t.down()
for i in range(5):
    t.forward(50)
    t.left(72)
    t.forward(50)
    t.right(144)

t.done()

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多