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)

图示:

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

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

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

相关推荐
萧瑟余晖7 小时前
JDK 26 新特性详解
java·开发语言
马优晨8 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
玉鸯8 小时前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
weixin_446260859 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
我的xiaodoujiao9 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
人邮异步社区10 小时前
怎么把C语言学到精通?
c语言·开发语言
qetfw10 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
心平气和量大福大10 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai10 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang