page contents

python基础编程100例:第24期-画图形

本文讲述了python基础编程100例:第24期-画图形!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-03-KQFX0QUc622ff5eacdb40.png

本文讲述了python基础编程100例:第24期-画图形!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

第24期-画图形

1 问题描述

按照要求使用turtle库画出图形

画半径为50的圆;

画长方形;

画边长为100的红色五角星。


2 解题思路

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。


3 解题方法

画半径为50的圆

import turtle

turtle.circle(50)

turtle.done()

第1行: 引入turtle画图库

第2行: turtle.circle()便是turtle库的画圆指令,括号内填的是半径

第2行: turtle.done()是turtle库的运行指令,表示开始画图


代码运行结果为:

attachments-2022-03-5dY7E4EF622ff5930ae04.png


这里用到了turtle.circle函数,简单讲解下这个函数:

turtle.circle()函数

语法:

turtle.circle(radius, extent=None, steps=None)

参数说明:

radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;

extent(弧度) (optional);

steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。


画长方形

import turtle

i = 1

while i <= 4:

    if i % 2 == 1:

        turtle.fd(100)

    else:

        turtle.fd(50)

    turtle.left(90)

    i += 1

turtle.done()

第1行: 引入turtle画图库

第2行: 定义i变量并赋值为1,作为画图时转弯以及前进的次数

第3行: 使用while循环,当前进次数小于或等于四的时候,继续循环

第4-7行: 当次数是奇数时,前进100个单位,当次数是偶数时,前进50个单位

第8行: 每当一条线画完的时候,前进方向都向左转90度

第9行: 记录转弯及前进的次数

第9行: 开始画图


代码运行结果为:

attachments-2022-03-RbUUGLvS622ff57fd1d24.png


画边长为100的红色五角星

import turtle

i = 1

turtle.fillcolor('red')

turtle.color('red')

turtle.begin_fill()

while i <= 5:

    turtle.fd(100)

    turtle.right(144)

    i += 1

turtle.end_fill()

turtle.done()

第1行: 引入turtle画图库

第2行: 定义i变量并赋值为1,作为画图时转弯以及前进的次数

第3行: 定义画图的填充颜色为红色(指闭环图形内部的颜色)

第4行: 定义画图的画笔颜色为红色(指任意图形边长的颜色)

第5行: 填充颜色开始

第6行: 使用while循环,当前进次数小于或等于5的时候,继续循环

第7-9行: 每次循环前进100个单位,每当一条线画完的时候,前进方向都向右转144度,并记录记录转弯及前进的次数

第10行: 给从turtle.begin_fill()到turtle.end_fill()内部的代码期间画的图形填充颜色

第11行: 开始画图


代码运行结果为:

attachments-2022-03-C8ZrPAgc622ff56e50585.png


全部放到一起

import turtle  # 引入一个绘图库

画半径为50的圆

turtle.circle(50)

 画长方形

turtle.penup()

turtle.goto(-100, 0)

turtle.right(180)

turtle.pendown()

i = 1

while i <= 4:

    if i % 2 == 1:

        turtle.fd(100)

    else:

        turtle.fd(50)

    turtle.left(90)

    i += 1

turtle.left(180)

 画边长为100的红色五角星

turtle.penup()

turtle.goto(100, 0)

turtle.pendown()

i = 1

turtle.fillcolor('red')

turtle.color('red')

turtle.begin_fill()

while i <= 5:

    turtle.fd(100)

    turtle.right(144)

    i += 1

turtle.end_fill()

turtle.done()

代码运行结果为:

attachments-2022-03-73ar0SsR622ff5488a33c.png


这里用到了turtle库内的一些方法,简单讲解下这些方法:

turtle.circle(半径)

设置填充颜色turtle.fillcolor(颜色) 开始填充turtle.begin_fill() 结束填充turtle.end_fill()

抬起笔turtle.up() 放下笔turtle.down()

向左转turtle.left(角度) 向右转turtle.right(角度)

向前走turtle.forward(距离)/turtle.fd(距离) 向后走turtle.back(距离)/turtle.bk(距离)


移动到指定位置tutle.goto(x坐标, y坐标)/ turtle.setx(x坐标) / turtle.sety(y坐标) 回到开始位置turtle.home()

设置笔的颜色turtle.pencolor(颜色)

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-BK1THFDZ629195b140155.jpeg

  • 发表于 2022-03-15 10:12
  • 阅读 ( 1299 )
  • 分类:Python开发

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章