python循环绘制六角星_Python学习笔记 | 实例2:“蟒蛇”绘制

5ee15abc3636be37d3a29bf147022fec.png

本文为中国大学MOOC《Python语言程序设计》课程学习笔记,课程主讲:嵩天老师,练习平台:Python123

一、概述

在这个实例中,蕴含了使用Python进行基本图形绘制相关的许多基本知识点,对于初学者是很好的学习案例。

把每一行代码及其背后相关知识理解透彻,有助于我们打好Python基本功。

在理解了代码之后,还要反复的练习,多次从头到尾写这段代码,给自己计时,看能否不断缩短所用时间。这有助于我们加深对其理解,以及加深记忆。

import turtle as t
t.setup(800,300,200,200)
t.penup()
t.fd(-150)
t.pendown()
t.seth(-40)
t.pensize(25)
t.pencolor("purple")
for i in range(4):
    t.circle(40,80)
    t.circle(-40,80)
t.circle(40,80/2)
t.fd(40)
t.circle(16,180)
t.fd(40*2/3)
t.done()

二、代码解析

第1行 import turtle as t
  • turtle库
  1. turtle库绘图体系:1969年诞生,主要用于程序设计入门
  2. 是Python语言的标准库之一
  3. 入门级的图形绘制函数库
  • 什么是标准库?
  1. Python计算生态=标准库+第三方库
  2. 标准库:随解释器直接安装到操作系统中的功能模块
  3. 第三方库:需要经过安装才能使用的功能模块
  4. 库Library、包Package、模块Module,统称模块
  • turtle的原理
  1. 有一只海龟,在窗体正中心,在画布上游走
  2. 走过的轨迹形成了绘制的图形
  3. 海龟由程序控制,可以变换颜色、改变宽度等
  4. 海龟默认在画布正中心(0,0),默认前行方向向右
  • import
  1. 扩充Python程序功能的方式(引入库)
  2. 使用方式:import <库名>,如:import turtle
  3. 更多用法:import <库名> as<库别名>,如:import turtle as t,后续就可以用 t 代替 turtle,更加简洁方便(在代码中用t来替代了turtle,但为便于理解,下方涉及到turtle库时,将补全库名)
第2行
turtle.setup(800,300,200,200)
  • turtle绘图窗体布局
  1. turtle的一个画布空间最小单位是像素
  2. turtle.setup(width,height,startx,starty)
    ->setup()设置窗体大小及位置
    ->4个参数中后两个可选
    ->setup()不是必须的
    ->turtle(800,400,0,0),则窗体宽度为800像素,高度为400,屏幕的左上角开始
    ->turtle(800,400),startx,starty,没有指定值,则在屏幕的正中心
第3行
turtle.penup()
  • turtle画笔控制函数
  1. turtle.penup(),别名 turtle.pu(),抬起画笔,海龟在飞行;此时画笔在画布上空移动,画布上没有痕迹。
  2. turtle.pendown(),别名turtle.pd(),落下画笔,海龟在爬行;此时画笔在画布上移动,在画布上留下画笔的痕迹。
  3. turtle.pensize(width),别名 turtle.width(width),控制着画笔的宽度,可形象的理解为:海龟的腰围
  4. turtle.pencolor(color),color为颜色字符串或r,g,b值,画笔颜色,海龟在涂装
    ->颜色字符串:turtle.pencolor("purple")
    ->RGB的小数值:turtle.pencolor(0.63,0.13.0.94)
    ->RGB的元组值:turtle.pencolor((0.63,0.13.0.94))
第4行
turtle.fd(-150)
  • turtle运动控制函数
  1. turtle运动控制函数控制海龟行进:走直线 or 走曲线
  2. turtle.forward(d) 别名:turtle.fd(d),向前行进,d:行进距离,可以为负数,如果为负数则是向相反方向前进
  3. turtle.circle(r,extent)
    ->根据半径r绘制extent角度的弧形
    ->r:默认圆心在海龟左侧r距离的位置
    ->extent:绘制角度,默认是360度整圆
    ->turtle.circle(40,80),以左侧40像素的点为圆心,40为半径,逆时针曲线移动80度
第6行
turtle.seth(-40)
  • turtle方向控制函数
  1. turtle.setheading(angle),别名 turtle.seth(angle),angle是绝对坐标体系
  2. 只改变方向,不行进
  3. turtle.left(angle),以海龟的正前方为参考,向左转
  4. turtle.right(angle),以海龟的正前方为参考,向右转
  • turtle空间坐标体系

1.绝对坐标
turtle.goto(x,y),画布窗体正中心坐标(0,0),遵循数学上的四象限坐标体系

12ec12c4d16db0c595ebe62611000fff.png

2.海龟坐标

turtle.bk(d),后侧

turtle.fd(d),前方

turtle.circle(r,extend),逆时针曲线运行

3.角度坐标

turtle.seth(angel)

turtle.left(angel)

turtle.right(angel)

8e6e9a36e40c0dd63064849d238c53ce.png
第9行
for i in range(4):
  • 基本循环语句
  1. for <变量> in range(<参数>):
    <被循环执行的语句>
  2. range()函数
    range(N)产生0到N-1的整数序列,共N个,range(5) 代表0,1,2,3,4
    rang(M,N),产生M到N-1的整数序列,共N-M个,range(2,5) 代表:2,3,4

三、总结

Python蟒蛇绘制共17行代码,但很多行类似,清楚理解这17行代码能够掌握Python基本绘图方法。

Python蟒蛇绘制问题是各类图像绘制问题的代表,比如:圆形绘制、五角星绘制、国旗绘制、机器猫绘制等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值