网站首页 > 精选文章 正文
第三阶段:海龟编程专题
第9章:循环与海龟协作
目标:像指挥魔法小海龟跳“循环舞步”一样,用重复的指令画出复杂又漂亮的图案!本章将教你用for和while循环让海龟自动完成绘画任务,成为自动化小巫师!
9.1 用循环画正多边形
魔法目标:用循环让海龟画出正三角形、正方形、正六边形甚至正五十边形!边数越多,图形越接近圆形哦!
魔法原理:
- 正多边形规律:所有边长度相等,每个内角相同。
 - 旋转角度计算:每次转向的角度 = 360° ÷ 边数(外角)。 例如: 正三角形:360° ÷ 3 = 120° 正方形:360° ÷ 4 = 90° 正六边形:360° ÷ 6 = 60° 正五十边形:360° ÷ 50 = 7.2°
 
魔法咒语:
import turtle  
t = turtle.Turtle()  
side_length = 100  # 每条边的长度  
# 画正六边形  
for _ in range(6):  
    t.forward(side_length)  
    t.left(60)  # 外角60度  
# 画正五十边形(边数越多越像圆!)  
t.penup()  
t.goto(150, 0)  
t.pendown()  
for _ in range(50):  
    t.forward(side_length)  
    t.left(7.2)  # 外角7.2度  
趣味实验:
- 修改range()中的数字,尝试画正五边形(108°)、正八边形(45°)。
 - 观察边数增加时,图形如何从多边形逐渐变成圆形!
 
9.2 螺旋线与星空效果
魔法目标:用循环和角度变化画出螺旋线和星空图案!
魔法技巧:
- 螺旋线:每次循环增加前进距离或改变转向角度。
 - 星空效果:用随机颜色和位置画小圆点,模拟星光。
 
魔法咒语:
# 画螺旋线  
t.penup()  
t.goto(0, 0)  
t.pendown()  
for i in range(1, 100):  # 循环100次  
    t.forward(i * 2)     # 每次前进距离递增  
    t.right(10)          # 每次右转10度  
# 画星空(随机小圆点)  
import random  
t.color("white")  
for _ in range(50):  
    x = random.randint(-300, 300)  
    y = random.randint(-300, 300)  
    t.goto(x, y)  
    t.dot(5)  # 画直径5像素的圆点  
趣味挑战:
- 修改螺旋线的颜色为渐变色(如从蓝色到紫色)。
 - 让星空中的星星闪烁(用time.sleep(0.1)暂停后重新绘制)。
 
9.3 彩虹同心圆项目
魔法目标:用循环嵌套画出彩虹色的同心圆,形成绚丽图案!
魔法步骤:
- 设置颜色列表:红、橙、黄、绿、蓝、紫。
 - 循环画圆:从内到外,每圈颜色不同。
 - 调整半径:每圈半径递增20像素。
 
魔法咒语:
colors = ["red", "orange", "yellow", "green", "blue", "purple"]  
radius = 20  # 初始半径  
for color in colors:  
    t.pencolor(color)  
    t.circle(radius)  
    radius += 20  # 半径每次增加20  
趣味实验:
- 修改颜色顺序,观察彩虹效果变化。
 - 添加白色小圆点作为“星星”,点缀星空。
 
魔法小锦囊
- 几何小知识: 正多边形的外角 = 360° ÷ 边数 边数越多,外角越小,图形越接近圆形!
 - 错误急救包: 图形不闭合:检查是否漏掉t.penup()或t.pendown()。 旋转角度错误:确认计算的是外角而非内角。
 
附:海龟指令速查表
指令  | 作用  | 
forward(n)  | 向前移动n步  | 
circle(r)  | 画半径为r的圆  | 
dot(size)  | 画直径为size的圆点  | 
goto(x,y)  | 移动到坐标(x,y)  | 
color(c)  | 设置画笔颜色  | 
通过本章,你已经学会了用循环让海龟自动绘制复杂图案!记住:循环是自动化艺术的魔法钥匙
猜你喜欢
- 2025-07-28 手把手教您3D打印一个自动写字机器人
 - 2025-07-28 学习少儿编程,可以这样寓教于乐(少儿编程到底学什么东西)
 - 2025-07-28 ROS2开发实践:ROS工具(launch脚本、TF坐标系、Gazebo等)
 - 2025-07-28 python海龟绘图turtle(一):画布和窗体
 - 2025-07-28 文言文编程还不够好玩?这里有个16岁高中生开发的粤语编程项目
 - 2025-07-28 教孩子学Python编程之海龟画图(二)
 - 2025-07-28 Python Turtle绘图 新手也能画出彩色风车、五角星 孩子学编程超合适
 - 2025-07-28 少儿学编程系列---如何使用turtle画花瓣
 - 2025-07-28 Python turtle模块编程实践教程(python turtle.rt)
 - 2025-07-28 小学生Python编程入门-10.函数与海龟编程
 
- 最近发表
 
- 标签列表
 - 
- 向日葵无法连接服务器 (32)
 - git.exe (33)
 - vscode更新 (34)
 - dev c (33)
 - git ignore命令 (32)
 - gitlab提交代码步骤 (37)
 - java update (36)
 - vue debug (34)
 - vue blur (32)
 - vscode导入vue项目 (33)
 - vue chart (32)
 - vue cms (32)
 - 大雅数据库 (34)
 - 技术迭代 (37)
 - 同一局域网 (33)
 - github拒绝连接 (33)
 - vscode php插件 (32)
 - vue注释快捷键 (32)
 - linux ssr (33)
 - 微端服务器 (35)
 - 导航猫 (32)
 - 获取当前时间年月日 (33)
 - stp软件 (33)
 - http下载文件 (33)
 - linux bt下载 (33)
 
 
