前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >考点:海龟画图turtle库的使用,绘制五角星、矩形等【Python习题09】

考点:海龟画图turtle库的使用,绘制五角星、矩形等【Python习题09】

作者头像
刘金玉编程
发布于 2021-12-20 07:59:57
发布于 2021-12-20 07:59:57
2.2K00
代码可运行
举报
文章被收录于专栏:编程创造城市编程创造城市
运行总次数:0
代码可运行

例1 题目:

请用海龟画图方式绘制五角星,要求在绘制时显示海龟,绘制完成后,隐藏海龟。实现如下效果:

考题分析:

本题一个基本的海龟绘图的考试方式,要求明白五角星每个角的度数,也就是每次海龟转角的度数,这里设计到三角形的内角定理,一个三角形的内角和为180度。绘制图形时,要注意规律的把握。

源代码:具体可以看我的代码解释

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
"""
@File文件    :   ljytest81
@Time创建时间    :    2021/12/13
@Author作者  :   刘金玉
@Contact联系方式 :   selidev@qq.com   编程创造城市 http://bcczcs.com
注:作者信息请保留!否则必究法律责任!
刘金玉编程,编程创造城市!
作者微信号:selidev
作者抖音号:selidev
作者B站:刘金玉编程
微信公众号:编程创造城市
"""

#绘制五角星
import turtle as tt
tt.goto(0,0) #到坐标原点
tt.pencolor("red")  #设置画笔颜色为红色
tt.fillcolor("green")  #设置填充颜色为绿色
tt.pendown()  #下笔开始绘制
tt.begin_fill()  #开始准备填充
for i in range(5): #五次循环
    tt.forward(100)   #每条边为100个单位
    tt.right(144) #因为正五角星的每个角是36度
tt.end_fill()   #完成图形填充
tt.penup()   #提笔
tt.hideturtle() #隐藏绘制笔
tt.done()   #让界面死循环,这样不会瞬间消失

例2:绘制一个正方形,源代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
"""
@File文件    :   ljytest81
@Time创建时间    :    2021/12/13
@Author作者  :   刘金玉
@Contact联系方式 :   selidev@qq.com   编程创造城市 http://bcczcs.com
注:作者信息请保留!否则必究法律责任!
刘金玉编程,编程创造城市!
作者微信号:selidev
作者抖音号:selidev
作者B站:刘金玉编程
微信公众号:编程创造城市
"""



#绘制正方形
import turtle as tt
import time

# tt.shape("turtle")
tt.color("red")
for i in range(4):
    tt.forward(100)
    tt.right(90)
tt.done()

小小tips:

如果我们想要让海龟显示出来,我们可以设置图形的方法shape,如下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import turtle as tt
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tt.shape("turtle")

这样我们就可以看到可爱的海龟了:)

技巧:

海图画图的库turtle默认在pycharm中是没有代码提示的,我们可以用技巧让其进行代码提示!首先我们在python终端窗口把所有的方法给取出来,通过如下命令:

取出来的方法有什么用呢?

我们可以复制下来,放到turtle.py中,注释掉原来的__all__的结果,自己添加一个新的列表结果,这个__all__中的所有元素就是我们在pycharm中会代码提示的东西。

总结:

  1. 其实海龟绘图库的本质是使用了库tkinter,我们如果学会tk库,我们也可以进行一样图形的绘制。只不过turtle库的绘制方式比较容易懂,初学者容易入门。
  2. 绘制图形主要掌握颜色改变、绘制形状、图形填充即可。
  3. 让pycharm可以代码提示,一旦有了代码提示,我们就可以更加利用的好turtle去绘图了。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【转】Java中Runtime.exec的一些事 
Runtime类是一个与JVM运行时环境有关的Singleton类,有以下几个值得注意的地方:
yiduwangkai
2019/09/17
3.1K0
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
我们项目要java执行命令“dmidecode -s system-uuid”获取结果,然而碰到问题,当项目一直执行好久后,Runtime.getRuntime().exec()获取结果为空,但也不报错,重启项目就又可以了,所以猜测属于陷阱2,并进行记录。
刘大猫
2024/11/17
8640
Java调用CMD命令
Windows下复制: copy C:\server\data\ccgavr\1.png C:\server\data\ccgavr\2.png Windows重命名: ren 1.png 3.png ren C:\server\data\ccgavr\1.png C:\server\data\ccgavr\3.png(DOS中提示命令语法不正确,powershell则可以)
JaneYork
2023/10/11
4160
Java调用CMD命令
java mencoder_mencoder java linux[通俗易懂]
在执行转化的时候只能转化1分钟的影片超过1分钟影片的都不能转化。可是直接输入命令行又能全部转化。高分求解try{Runtimert=Runtime.getRuntime();Processproc=rt.exec(“mencoder”+ol…
全栈程序员站长
2022/11/17
3170
Fastjson反序列化漏洞复现
通过Fastjson反序列化漏洞,攻击者可以传入一个恶意构造的JSON内容,程序对其进行反序列化后得到恶意类并执行了恶意类中的恶意函数,进而导致代码执行。
R0A1NG
2022/02/19
3.7K0
Fastjson反序列化漏洞复现
Process类详解
ProcessBuilder是一个final类,Process是一个抽象类。ProcessBuilder.start() 和 Runtime.exec() 方法都被用来创建一个操作系统进程(执行命令行操作),并返回 Process 子类的一个实例,该实例可用来控制进程状态并获得相关信息。
matt
2022/10/25
1.7K0
打工人打工魂,打工的必会java调用python的几种用法(看这篇就够了)
创建maven工程,结构如下:到官网https://www.jython.org/download.html下载Jython的jar包或者在maven的pom.xml文件中加入如下代码:
用户7656790
2020/11/03
5.9K0
打工人打工魂,打工的必会java调用python的几种用法(看这篇就够了)
java:自定义变量加载到系统变量后替换shell模版并执行shell
这里有两种实现, 一种是项目加载自定义变量文件到系统变量中; 另一种是shell通过source .env环境变量方式加载。
鲲志说
2025/04/07
900
java:自定义变量加载到系统变量后替换shell模版并执行shell
【JAVA代码审计】——1、Spring框架知识篇
本期Java代码审计Spring框架知识篇将讲述Spring构造POC要必备的知识。
用户7886150
2020/12/11
6050
JAVA001-java  调用bash shell脚本阻塞问题的解决
使用java实现的web端,web端相应用户的界面操作,使用java调用bash实现的shell脚本进行实际的操作,操作完成返回执行结果给web 界面显示。
上善若水.夏
2018/09/28
1.5K0
RunTime.getRuntime().exec()运行脚本命令介绍和阻塞
 java在企业级项目开发中,无论是强制性的功能需要,还是为了简便java的实现,需要调用服务器命令脚本来执行。在java中,RunTime.getRuntime().exec()就实现了这个功能。     用法:         public Process exec(String command)-----在单独的进程中执行指定的字符串命令。        public Process exec(String [] cmdArray)---在单独的进程中执行指定命令和变量               
生活创客
2018/01/30
3.1K0
RunTime.getRuntime().exec()运行脚本命令介绍和阻塞
Java: SpringBoot 执行Shell/Bat脚本
通过Java启动Shell、Bat脚本,执行脚本命令,支持接收正常结果及异常结果。
Freedom123
2024/03/29
6350
java调用wkhtmltopdf生成pdf文件,美观,省事
最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果,
大道七哥
2019/09/10
5.2K1
java调用wkhtmltopdf生成pdf文件,美观,省事
Java魔法堂:找外援的利器——Runtime.exec详解
一、前言                                  Java虽然五脏俱全但总有软肋,譬如获取CPU等硬件信息,当然我们可以通过JNI调用C/C++来获取,但对于对C/C++和Windows API不熟的码农是一系列复杂的学习和踩坑过程。那能不能通过简单一些、学习成本低一些的方式呢?答案是肯定的,在功能实现放在首位的情况下,借他山之石是最简洁有力的做法。而 Runtime.exec方法 就为我们打开这么的一条路了。 二、认识 java.lang.Runtime.exec方法   作用
^_^肥仔John
2018/01/18
1.7K0
Java魔法堂:找外援的利器——Runtime.exec详解
Process API 指南-Java快速进阶教程
它所指的进程是一个正在执行的应用程序。Process类提供与这些进程交互的方法,包括提取输出、执行输入、监视生命周期、检查退出状态以及销毁(终止)它。
jack.yang
2025/04/05
1410
Java 配 Shell 等于美酒加咖啡
技术上又何尝不是如此呢?先假设一个场景:BOSS 让你实现一个服务监控的指挥室,能看到每个服务器的磁盘剩余空间,能看到。。。能看到。。。
一猿小讲
2019/09/17
8660
Java 配 Shell 等于美酒加咖啡
java 执行shell命令及日志收集避坑指南
有时候我们需要调用系统命令执行一些东西,可能是为了方便,也可能是没有办法必须要调用。涉及执行系统命令的东西,则就不能做跨平台了,这和java语言的初衷是相背的。
烂猪皮
2021/01/14
2.7K0
一个循环启动APP并保持WiFi常开的多线程类
本人在使用monkey进行测试的时候,发现monkey参数里面--pct-appswitch参数并不好用,随机性比较大,所以想自己来控制启动APP的次数和间隔。之前通过批处理命令bat和shell脚本都实现过,但是现在要做成一个jar的工具包,只能写在一个多线程类里,随便把校验WiFi开关状态的方法也写在了一起。分享代码,供大家参考。
FunTester
2019/09/10
5900
代码分享:用java备份MySQL数据库
t-io官网的数据库都会定时备份,并且可以通过http直接下载到本地(这个当然需要特权,不是人人有这个操作权限),为了操作的灵活性,采用java来实现MySql的备份
talent-tan
2019/08/03
2.7K0
【Java报错已解决】error: subprocess-exited-with-error
在Java开发过程中,尤其是当Java程序与外部进程交互或者执行一些需要依赖外部系统的操作时,“error: subprocess - exited - with - error”这个报错常常会让开发者和环境配置者感到头疼。这个报错信息表明了子进程在执行过程中出现了问题,导致其非正常退出。而子进程的执行情况对于整个Java应用的功能完整性可能至关重要,例如在执行系统命令、调用外部脚本或者与其他服务通过特定进程交互的场景中。因此,深入理解这个报错并掌握有效的解决方法对于保障Java应用的稳定运行意义重大。
鸽芷咕
2025/05/26
900
推荐阅读
相关推荐
【转】Java中Runtime.exec的一些事 
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验