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)

图示:

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

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

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

相关推荐
清弦墨客几秒前
【蓝桥杯】43695.填字母游戏
python·蓝桥杯·编程算法
网络点点滴13 分钟前
声明式和函数式 JavaScript 原则
开发语言·前端·javascript
查理零世1 小时前
保姆级讲解 python之zip()方法实现矩阵行列转置
python·算法·矩阵
刀客1231 小时前
python3+TensorFlow 2.x(四)反向传播
人工智能·python·tensorflow
stevewongbuaa1 小时前
一些烦人的go设置 goland
开发语言·后端·golang
撸码到无法自拔2 小时前
MATLAB中处理大数据的技巧与方法
大数据·开发语言·matlab
island13142 小时前
【QT】 控件 -- 显示类
开发语言·数据库·qt
sysu632 小时前
95.不同的二叉搜索树Ⅱ python
开发语言·数据结构·python·算法·leetcode·面试·深度优先
SsummerC2 小时前
【leetcode100】从前序与中序遍历序列构造二叉树
python·算法·leetcode