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)

图示:

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

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

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

相关推荐
方也_arkling4 小时前
【Java-Day08】static / final / 枚举
java·开发语言
风吹夏回4 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
Chengbei114 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
llz_1124 小时前
web-第一次课后作业
java·开发语言·idea
小熊Coding5 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋95 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本5 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
xiaoshuaishuai85 小时前
C# 内存管理与资源泄漏
开发语言·c#
lsx2024066 小时前
SVN 检出操作
开发语言
田里的水稻6 小时前
OE_ubuntu26.04与宿主机之间复制粘贴内容
人工智能·python·机器人