Python---使用turtle模块+for循环绘制五角星---利用turtle(海龟)模块

首先了解涉及的新词汇,编程外国人发明的,所以大部分是和他们语言相关,了解对应意思,可以更好理解掌握。

import 英 /ˈɪmpɔːt/ n. 进口,进口商品;输入,引进;重要性;意思,含意 v. 进口,输入,引进;导入(计算机);<旧>意味,表明

time 英 /taɪm/ n. (以分钟、小时、天等计量的)时间;

turtle 英 /ˈtɜːt(ə)l/ n. 海龟;海龟肉;<美>龟;淡水龟;(计算机)龟标

forward 英 /ˈfɔːwəd/ adv. 向前;在船头,朝飞机头部;按顺序地;有进展地,前进地;向将来,往后;提前;(钟表)往前(拨);从......起,

sleep 英 /sliːp/ v. 睡,睡觉;

pencolor pen+color

pen 英 /pen/ n. 笔,钢笔;

color 英 /ˈkʌlə(r)/ n. <美>颜色;肤色;颜料;脸色 vt. 粉饰;给......涂颜色;歪曲 vi. 变色;获得颜色

right 英 /raɪt/ adj. 符合道德的,正当的;正确的,真实的; adv. (地方、位置或时间)正好,就在;直接地,径直地;一直地,完全地;<非正式>立即,毫不耽搁;正确地,确切地;<非正式>顺利,正常;在右面,向右边

案例:
使用turtle模块+for循环绘制五角星

思考:

turtle模块,就先import导入

接着看 for循环基本语法:

for 临时变量 in 序列 :

重复执行的代码1

重复执行的代码2

注意: 因为五角星是要一条直线,来回转方向5次,最终才能出来,所以要for循环5次。这里就涉及用到range范围。

range基本语法:

range(stop)

range(start, stop[, step])

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是 [0, 1, 2, 3, 4] 没有 5

step:步长,默认为1。例如:range(0,5) 等价于 range(0, 5, 1) -------人话:中间隔几个数。 1 就是每次加1 增长。2就是每次加2增长,比如 0 2 4。3就是每次加3增长,比如 0 3。

range有一个口诀:顾头不顾尾,包含头部信息,但是不包含尾部信息。


代码:


复制代码
import turtle
import time

# 循环5次,pencolor用笔上色,red  红色
turtle.pencolor('red')
for i in range(5):
    turtle.forward(100)
    turtle.right(144)

time.sleep(10)

图示:

延伸思考:

如果是需求:使用turtle模块+while循环绘制五角星呢?

结合while三步走:


但是如果真的想要从1开始计数,也没关系。

① 定义一个计数器(初始化一个计数器)

i = 0或1

② 编写while循环结构条件

while 循环条件(判断 计数器 是否达到了目标位置):

循环体1

循环体2

...

③ 在循环内部更新计数器-------------如果不更新,那么一直都是一个数,原地不动。让他们+1,可以在某个时间点,某个数值点,达到预定的地方。

i = i + 1 或i += 1


可以写出下面代码:


复制代码
import turtle
import time

i = 0
# 循环5次,pencolor用笔上色,red  红色
turtle.pencolor('red')
while i < 5:
    turtle.forward(100)
    turtle.right(144)
    i += 1

time.sleep(10)

图示:

所以,还是之前经常提到的一句话:

所有的案例,都是现实中,已经发生或可能发生的,人类不可能接触到认知范围外的东西,从而不能编写出认知范围外的案例。所以,就按着正常人现实中的逻辑思维,一步步写出计划/方案/思路。最后再转变为代码即可。

只要掌握的方法多,就可以用各种方法实现目的,比如,去上学,可以走路,可以骑单车,电动车,公交车,轿车,地铁,火车,高铁,飞机等等,都可以实现目的,唯一区别就是哪个更有意义。

相关推荐
EterNity_TiMe_2 分钟前
【论文复现】(CLIP)文本也能和图像配对
python·学习·算法·性能优化·数据分析·clip
陌小呆^O^7 分钟前
Cmakelist.txt之win-c-udp-client
c语言·开发语言·udp
Suyuoa13 分钟前
附录2-pytorch yolov5目标检测
python·深度学习·yolo
I_Am_Me_23 分钟前
【JavaEE进阶】 JavaScript
开发语言·javascript·ecmascript
重生之我是数学王子33 分钟前
QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现
开发语言·c++·qt
Ai 编码助手34 分钟前
使用php和Xunsearch提升音乐网站的歌曲搜索效果
开发语言·php
学习前端的小z38 分钟前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript
神仙别闹1 小时前
基于C#和Sql Server 2008实现的(WinForm)订单生成系统
开发语言·c#
XINGTECODE1 小时前
海盗王集成网关和商城服务端功能golang版
开发语言·后端·golang
zwjapple1 小时前
typescript里面正则的使用
开发语言·javascript·正则表达式