海龟图c语言编程,【编程课堂】海龟作图

海龟图c语言编程,【编程课堂】海龟作图原标题:【编程课堂】海龟作图0、前言turtle是python内置的一个比较有趣味的模块,俗称海龟作图,它是基于tkinter模块打造,提供一些简单的绘图工具,海龟作图最初源自20世纪60年代的Logo编程语言,之后一些很酷的Python程序员构建了turtle库,让其他程序员只需要importturtle,就可以在Python中使用海龟作图。1、基本功能介绍…

大家好,又见面了,我是你们的朋友全栈君。

原标题:【编程课堂】海龟作图

0、前言

turtle是 python 内置的一个比较有趣味的模块,俗称 海龟作图,它是基于 tkinter 模块打造,提供一些简单的绘图工具,海龟作图最初源自 20 世纪 60 年代的 Logo 编程语言,之后一些很酷的 Python 程序员构建了 turtle 库,让其他程序员只需要 import turtle,就可以在 Python 中使用海龟作图。

1、基本功能介绍

在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动。这个海龟带着一只钢笔,我们可以让海龟无论移动到哪都使用这只钢笔来绘制线条。通过编写代码,以各种很酷的模式移动海龟,我们可以绘制出令人惊奇的图片。使用海龟作图,我们不仅能够只用几行代码就创建出令人印象深刻的视觉效果,而且还可以跟随海龟看看每行代码如何影响到它的移动。这能够帮助我们理解代码的逻辑。所以海龟作图也常被用作新手学习 Python 的一种方式。

1.1 Turtle motion (运动控制)

本节中包含了运动控制中常用的一些函数

turtle.goto(x,y)

画笔定位到坐标(x,y)

turtle.forward(distance)

向正方向运动 distance 长的距离

turtle.backward(distance)

向负方向运动 distance 长的距离

turtle.right(angle)

向右偏 angle 度

turtle.left(angle)

向左偏 angle 度

turtle.home()

回到原点

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

画圆形 radius 为半径,extent 为圆的角度

turtle.speed(speed)

以 speed 速度运动

看到这么多函数肯定已经头大了,我们以例题来讲解。

首先画一个边长为100的正方形,然后再以半径为50画出其3/4圆。

# 控制画笔的速度

turtle.speed( 5)

# 将画笔定位到原点

turtle.goto( 0, 0)

# 从原点开始,画出一个边长为100的正方形

fori inrange( 4):

# 正向运动 100 的距离turtle.forward( 100)

# 向右偏 90 度turtle.right( 90)

# 将画笔定位到原点

turtle.home()

# 画出一个半径为100,占3/4的圆

turtle.circle( 50, 270)

最后得到以下结果:

e413c97e2499f95504de11d2494618a6.png

1.2 Pen control (画笔控制)

本节包含了对画笔的控制函数,常用的如下:

turtle.pendown()

落笔,在此状态下会画出运动的轨迹

turtle.penup()

起笔,在此状态下不会画出运动的轨迹

turtle.pensize(width=None

画笔粗细

turtle.pencolor(*args

画笔颜色

turtle.fillcolor(*args)

填充颜色

turtle.begin_fill()

开始填充

turtle.end_fill()

结束填充

turtle.write(arg, move=False, align=”left”, font=(“Arial”, 8, “normal”))

写文字

同样,我们以一个例题来讲解。

画一个正方形并填充,最后写一些文字

# 控制画笔颜色

turtle.pencolor( ‘red’)

# 落笔

turtle.pendown()

# 设置填充颜色

turtle.fillcolor( ‘blue’)

# 开始填充

turtle.begin_fill()

# 从原点开始,画出一个边长为100的正方形

fori inrange( 4):

# 正向运动 100 的距离turtle.forward( 200)

# 向右偏 90 度turtle.right( 90)

# 结束填充turtle.end_fill()turtle.penup()turtle.goto( 100,- 100)turtle.write( ‘Crossin编程教室’)

最后的结果是这样

217271373f3be008c3ac8d5e79352fb6.png

同时,我们还可以设置画笔打粗细、画笔的速度等属性。

1.2 Window control (视窗控制)

这里有两个常用的函数

turtle.bgcolor(*args)

设置背景颜色

turtle.bgpic(picname=None)

背景图片填充

设置代码如下

turtle.bgcolor( ‘red’)turtle.bgpic( r’yourpic.png’) 2、海龟作图实例

我们用几个简单的例子讲解海龟作图的用法。

2.1 用正方形画圆 importturtle

fori inrange( 360): turtle.setheading(i)

fori inrange( 4): turtle.forward( 100) turtle.left( 90)

360 个正方形每隔 1 度排列,短短几行代码可以生成一个漂亮规则的图形。

e778fefa7f897d2c153e2c1592dcdada.png

2.2 红色的五角星

使用填充功能画出一个大红星

importturtleturtle.color( ‘red’, ‘red’)turtle.begin_fill()

fori inrange( 5): turtle.forward( 100) turtle.right( 144)turtle.end_fill()

结果如图:

5abb4e6469af7019c7783111f07e2c11.png

2.3 更多案例

讲的再多也不如自己动手做一做,我们在网上挑选了几张使用 turtle 做的有意思的图片,大家可以欣赏并试着做一下。

6bc8f08cb2b82a9ec4e1c495e989fde1.png

b780132695c0a96cb14373b69e791a10.png

1e2052c43f74644bb03abddc7d608c3b.png

92aeaa4f6467ca42347075e461e2fff8.png

c47e66bb3400e86bea47b396511ebb1e.png

a5ac4891df7e8ed448262c79a8e34321.png

5062a25b753727f810198d3987d32a75.png

3、后记

更丰富详细的功能及知识可以参考:

官方文档:https://docs.python.org/3/library/turtle.html

海龟作图—用 Python 绘图:http://www.epubit.com.cn/book/onlinechapter/37788

Simple drawing with turtle:https://opentechschool.github.io/python-beginners/en/simple_drawing.html

Hello, little turtles!:http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html

Turtle examples:https://michael0x2a.com/blog/turtle-examples

Easy Designs – Turtle Graphics Python:http://www.instructables.com/id/Easy-Designs-Turtle-Graphics-Python/

近期文章推荐阅读:

欢迎加入

Crossin的编程教室

crossincode.com

新手入门QQ群:553518572

微信请加 crossin11 留言入群(新手/进阶)

请把我们分享给身边爱学习的小伙伴 :)返回搜狐,查看更多

责任编辑:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154086.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【菜鸟学Python】案例一:汇率换算「建议收藏」

    【菜鸟学Python】案例一:汇率换算「建议收藏」汇率换算V1.0案例描述:设计一个汇率换算器程序,其功能是将外币换算成人民币,或者相反案例分析:分析问题:分析问题的计算部分;确定问题:将问题划分为输入、处理及输出部分;设计算法:计算部分

    2022年7月5日
    24
  • python中setattr用法_python中hasattr()、getattr()、setattr()函数的使用

    python中setattr用法_python中hasattr()、getattr()、setattr()函数的使用引言 在阅读源码时 有很多简写的形式 其中一个比较常用的就是 getattr 用来调用一个类中的变量或者方法 相关联的 hasattr getattr setattr 函数的使用也一并学习了一下 正文 1 hasattr object name 判断 object 对象中是否存在 name 属性 当然对于 python 的对象而言 属性包含变量和方法 有则返回 True 没有则返回 False 需要注

    2025年11月26日
    5
  • 主机、宿主机_宿主机架

    主机、宿主机_宿主机架主机:包括机箱、主板、CPU、内存、硬盘、显卡等,总之就是机箱及和内部的所有东西的总称。虚拟机中的概念是这样的:1、宿主机:指要安装虚拟机软件的计算机,你花钱买的物理机。2、虚拟机:利用虚拟机工具构造出来的,有一整套硬件设备,有自己操作系统,应用软件。3、宿主操作系统:物理机上安装的,例如在一台Win2K机上安装VMWare4、客户操作系统:虚拟机上的操作系统,如RedHatLinu

    2022年8月21日
    14
  • [python]解析通达信盘后数据获取历史日线数据[通俗易懂]

    [python]解析通达信盘后数据获取历史日线数据[通俗易懂]转自:http://bbs.pinggu.org/forum.php?mod=viewthread&tid=4804415&page=1平时我们在做离线的模型回溯测试时候,需要历史的k线数据。可是通达信的日线数据如下:日线数据在通达信的安装目录:vipdoc\sh\lday下面本地的通达信是没有开放api和外部的自己的交易回溯测试…

    2022年7月24日
    107
  • pythonpip安装第三方库失败_python安装第三方库失败问题

    pythonpip安装第三方库失败_python安装第三方库失败问题关于Python第三方库安装失败问题的解决方案相信很多刚开始入门Python的菜鸟们在安装python第三方库的时候,多多少少都会遇到一些安装失败的问题。下面,我将结合自身经验,分享一下在windows操作系统上此类问题的解决办法。一、清楚自己所安装的python版本(2.7或3.6,andmore);二、检查是否安装了pip;如果确认上面那两点都没有问题的话,就请往下看:1、使用Pyth

    2022年8月31日
    3
  • 70多套java必练项目,适合小白上手!

    70多套java必练项目,适合小白上手!导读:这些项目不管是找工作练手,还是公司使用当作模板进一步改进,亦或者是当作毕业设计,都很有借鉴意义!编译器建议使用:IDEA,Myeclipse,eclipse,HB-X等都可以。数据库建议使用,mysql,oracle,sqlsever数据库工具建议使用:SQLyog,navicate目录项目截图:项目地址:java实现银行柜员业务绩效考核系统java实现挖掘机配件营销系统Java实现酒店管理系统Java停车场管理系统Java实现的健身俱乐部会员系统..

    2022年8月23日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号