|Python新手小白低级教程之项目篇——turtle库|第一章:turtle库基础(1)

2024-02-10 11:52

本文主要是介绍|Python新手小白低级教程之项目篇——turtle库|第一章:turtle库基础(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目篇—文章目录

  • 一、预告
  • 二、turtle基础
    • 1.导入
    • 2.画图代码
      • (1)turtle.forward(长度)
        • 练习1.1 画线段
      • (2)turtle.left()和turtle.right()操作符
        • 练习2.1 画出边长为100正方形
        • 练习2.2 画出边长为100的三角形
      • (3)turtle.color('颜色')
        • 练习3.1 画出彩色梯形
      • (4)turtle.backward()
      • (5)turtle.penup()&turtle.pendown()
        • 4.1 正反双向画虚线
  • 总结
  • Test Key
    • 1.1
    • 2.1
    • 2.2
    • 3.1
    • 4.1

一、预告

hello,大家好,我是BoBo仔,今天我们要开始一段新的内容——第三方库项目学习啦!我们今天学习的是turtle库,简称“海龟库”。话不多说,让我们开始今天的学习吧!

二、turtle基础

1.导入

首先,turtle是Python的第三方库,需要代码导入。这段代码是什么?
首先,我们要记住一个结构:import + 第三方库名
这个结构至关重要,因为以后我们在学习项目化编程时经常会用。
这里我们用的是Turtle库,所以我们在这里导入代码应该这么写:

import turtle

这是第一行基础代码,我们用它来导入turtle库。接下来,就是具体操作了。

2.画图代码

这个代码是turtle中最核心的内容,不过这个结构比较多样化。首先,我们要掌握一个核心结构:turtle.画图功能函数
掌握这个之后,我们要认识画图符号。

(1)turtle.forward(长度)

这个是所有turtle符号中最基础的一个,所以我们第一个学。
它的作用很简单,就是画一条长度为(括号里那个数的)直线。我们先试试看下面这个例子:

练习1.1 画线段

画一条长度为100的线段

(2)turtle.left()和turtle.right()操作符

left和right这两个单词大家应该都认识,分别是左边和右边,在turtle里表示左转、右转。这两个符号后面的括号分别是左转和右转的角度。当然,我们也要将他们俩和和forward()等合用。
接下来,我们就来试试两道题:

练习2.1 画出边长为100正方形

这个非常简单。众所周知,正方形有4条边,4个角,内角和是360°。所以,我们在写代码时一定需要用到以下几种功能符:
1.turtle.forward()
2.turtle.left()&turtle.right()
3.for循环
有了思路,大家会做了吗?

(注:对for循环理解不深刻的同学可以看看我写的这篇关于for循环的文章,唤醒一下脑中的知识哟!
https://editor.csdn.net/md/?articleId=136055291)

练习2.2 画出边长为100的三角形

这个问题解决思路类似上面那道题,首先我们要知道三角形有3条边,3个内角,内角和是180°。
也就是说3次循环,转角60°咯?Nonono,这个情况比较特殊,不是60,而是120°哦!记住啦,这个以后至关重要!
所以……你会做了吗?

(3)turtle.color(‘颜色’)

这个内容非常简单,就是改变画笔颜色。我们在turtle里面遇到的是默认的黑色。这个函数要注意:
1.color拼写不要错,英文的拼写方式是colour,大部分同学想必都是这么记的。但是,因为Python是ArM人发明的,所以按照他们国家的拼写,是color。
2.颜色的旁边必须用引号括起来。

练习3.1 画出彩色梯形

这个题目还是比较棘手的。首先,梯形的转角非常特殊,我们这里只要画一个等腰梯形就可以了。(颜色顺序:red——yellow——blue——green)

(4)turtle.backward()

这行代码的效果和forward相反,我们先来试试看它的效果。

import turtle 
turtle.speed(2)
for i in range(1,5):turtle.backward(100)turtle.left(90)

在这里插入图片描述
再来看看forward()
在这里插入图片描述
这里虽然只截了一段虚影,但是和backward的区别还是非常明显的。接下来,我们来看一下turtle库的其他重要指令。

(5)turtle.penup()&turtle.pendown()

这俩家伙大家猜猜他们是什么意思?对了,提笔和落笔。这两个代码我们似曾相识。学过scratch的小同学应该也见过。
当然,Python中的提笔落笔也非同寻常。接下来,我们来看一下怎么灵活使用这两个命令。

4.1 正反双向画虚线

我们之前画过直线,非常简单。这次我们来画虚线。
虚线,应该长这样:- - - - - - - - - - - -
大家想到什么没有?对了,不断提笔和落笔。多少多长大家自己决策,不过是循环的次数罢了。

【提示:forward是正,backward是反】

总结

总之来说,这节课的内容还是比较少的,大家要好好记住我们这节课学的。下节课,我们会学习更多的turtle命令符,大家敬请期待!

最后,制作不易,别忘了一圈三连,点亮关注!

Test Key

1.1

import turtle 
turtle.forward(100)

输出虽然是昙花一现,但是还是蛮神奇的。

2.1

import turtle 
for i in range(1,5):turtle.forward(100)turtle.left(90)

2.2

import turtle 
for i in range(1,15):turtle.forward(100)turtle.right(120)

3.1

#(颜色顺序:red——yellow——blue——green)
import turtle
turtle.speed(1)#本行代码请忽略,这是为了让我看得更清楚
turtle.color('red')
turtle.forward(375)
turtle.left(150)turtle.color('yellow')
turtle.forward(100)
turtle.left(30)turtle.color('blue')
turtle.forward(200)
turtle.left(30)turtle.color('green')
turtle.forward(100)
turtle.left(150)

这道题还是有点难度的,好好消化!

4.1

#正画
import turtle
turtle.speed(2)
for i in range(1, 13):turtle.pendown()turtle.forward(10)turtle.penup()turtle.forward(10)
#反画
import turtle
turtle.speed(2)
for i in range(1, 13):turtle.pendown()turtle.backward(10)turtle.penup()turtle.backward(10)

这篇关于|Python新手小白低级教程之项目篇——turtle库|第一章:turtle库基础(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/697044

相关文章

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

Python轻松实现Word到Markdown的转换

《Python轻松实现Word到Markdown的转换》在文档管理、内容发布等场景中,将Word转换为Markdown格式是常见需求,本文将介绍如何使用FreeSpire.DocforPython实现... 目录一、工具简介二、核心转换实现1. 基础单文件转换2. 批量转换Word文件三、工具特性分析优点局

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav