对于Python turtle的学习笔记
进一步地,我尝试学习了Python 的其中一个非常重要的函数库——turtle库
这是一个用于python绘图的函数库,方便又好用!
对于它的安装,现在我们所用的python 3的系统运用到的指令是:
pip3 install turtle
安装完之后就可以使用它啦~这样就可以开始画画啦~(激动)
一、turtle库基本介绍:
python的turtle库是一个直观有趣的图形绘制的函数库;
turtle库有一个绘制框架:“”小乌龟”有转向,行进的动作,方向有“前进方向”,“后退方向”,“左侧方向”,“右侧方向"等,行进动作有“前进”,“后退”,“旋转”等;
二、开始绘图:
1.建立画布
我们可以用过代码setup()或screensize()建立一个窗口画布,我们就可以在上面作画了!
我现在主要用setup(),其中setup(width,height,startx,starty)
前两个参数是设置屏幕的宽高比例;
后两个是设置窗口在屏幕的的位置;
2.设置画笔
对于画笔,我了解到有几个设置的函数(在引用了from turtle import*的情况下):
pensize()是画笔的大小,pensize(2)即说明画笔大小为2个像素点;
penup()是抬起画笔动作;
pendown()是放下画笔动作;
pencolor()是设置画笔的颜色……
恩,了解了这些,我已经可以开始好好利用我的画笔绘画了!
当然还少不了其他一些指令函数:
forward()/fd() #向前走
backward() #向后走
right(degree) #向右转
left(degree) #向左转
speed(speed) #绘画速度
begin_fill() #开始填充
end_fill() #结束填充……
了解到这些以后,就可以开始实战了!
三、我的作品:
1.画叠加的等边三角形
代码:
from turtle import*
pensize(3)
color('black','white')
penup()
begin_fill()
seth(90)
fd(50)
pendown()
seth(-120)
fd(200)
seth(0)
fd(200)
seth(120)
fd(100)
seth(180)
fd(100)
seth(-60)
fd(100)
seth(60)
fd(100)
seth(120)
fd(100)
end_fill()
done()
效果:

2.太极!!
代码:
from turtle import*
pensize(2)
color('black','black')
begin_fill()
circle(80)
end_fill()
begin_fill()
seth(180)
color('black','white')
seth(180)
circle(-80,180)
circle(-40,180)
end_fill()
begin_fill()
color('black','black')
circle(40,180)
end_fill()
penup()
seth(90)
fd(30)
seth(0)
pendown()
begin_fill()
color('black','white')
circle(10)
end_fill()
penup()
seth(90)
fd(80)
seth(0)
pendown()
begin_fill()
color('black','black')
circle(10)
end_fill()
done()
效果:

3.国际象棋盘
代码:
from turtle import*
import math
pensize(2)
speed(50)
temp=0
num=0
penup()
seth(120)
fd(150)
pendown()
seth(0)
for i in range(10):
for i in range(10):
if(temp%2==0):
begin_fill()
color('black','white')
for i in range(4):
fd(40)
right(90)
fd(40)
temp+=1
end_fill()
else:
begin_fill()
color('black','black')
for i in range(4):
fd(40)
right(90)
fd(40)
temp+=1
end_fill()
if(num%2==0):
right(90)
fd(80)
right(90)
num+=1
if(num==10):
break
else:
left(90)
left(90)
num+=1
penup()
seth(120)
fd(300)
pendown()
seth(-30) #写字开始
fd(45)
penup()
seth(194)
fd(70)
pendown()
seth(10)
fd(60)
right(100)
fd(90)
seth(30)
fd(20) #偏旁部首写完
penup()
seth(85)
fd(122)
pendown()
seth(0) #一横
fd(50)
penup()
seth(195)
fd(50)
pendown()
seth(0) #二横
fd(45)
penup()
seth(195)
fd(70)
pendown()
seth(0) #三横
fd(80)
penup()
seth(118)
fd(62)
pendown()
seth(-90)
fd(59) #右上结束
penup()
seth(-148)
fd(20)
pendown()
seth(-90)
fd(90)
seth(90)
fd(90)
seth(0)
fd(39)
right(90)
fd(92)
seth(120)
fd(15) #月外框结束
penup()
fd(55)
pendown()
seth(0)
fd(35)
penup()
seth(220)
fd(45)
pendown()
seth(0)
fd(35) #写字结束
hideturtle()
end_fill()
done()

(我还特地写了个字~~够酷吧!)
学到这,我深刻认识到原来会用turtle库是多么有用!我甚至觉得可以任意画图了!
Python太棒了!
对于Python turtle的学习笔记的更多相关文章
- Python turtle库学习笔记
1.简介 Python的turtle库的易操作,对初学者十分友好.对于初学者来说,刚学编程没多久可以写出许多有趣的可视化东西,这是对学习编程极大的鼓舞,可以树立对编程学习的信心.当然turtle本身也 ...
- Requests:Python HTTP Module学习笔记(一)(转)
Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标 ...
- python网络爬虫学习笔记
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...
- Python Built-in Function 学习笔记
Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...
- Python快速入门学习笔记(二)
注:本学习笔记参考了廖雪峰老师的Python学习教程,教程地址为:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb49318210 ...
- python数据分析入门学习笔记
学习利用python进行数据分析的笔记&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据分 ...
- python网络爬虫学习笔记(二)BeautifulSoup库
Beautiful Soup库也称为beautiful4库.bs4库,它可用于解析HTML/XML,并将所有文件.字符串转换为'utf-8'编码.HTML/XML文档是与“标签树一一对应的.具体地说, ...
- Python之xml学习笔记
XML处理模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,至今很多传统公司如金融行业的很多系统的接口还主要是xml. xml的格式如下,就是通过&l ...
- python网络爬虫学习笔记(一)Request库
一.Requests库的基本说明 引入Rquests库的代码如下 import requests 库中支持REQUEST, GET, HEAD, POST, PUT, PATCH, DELETE共7个 ...
随机推荐
- external与static的用法
一.extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字:它告诉编译器,其声明的函数和变量可以在本函数文件或其它函数文件中使用. 1.对于extern变量来说,仅仅是一个变量的声 ...
- 20175333曹雅坤 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- java 日常学习记录-反射
Hero类 package helloworld; public class Hero { public String name; //姓名 public float hp; //血量 public ...
- 利用android studio 生成 JNI需要的动态库so文件
JNI: Java Native Interface, 提供了java语言和其他语言(例如c和c++)进行相互调用的方式. 本文是用java调用c生成的so模式.其中,编译so文件过程如下: 1) ...
- WPF 10天修炼 第七天- WPF资源、样式、控件模板
WPF资源 对象资源 WPF允许在XAML标记的任意位置定义资源.比如在特定的控件.窗口或应用程序级别定义资源,WPF资源系统提供的对象资源有如下好处: 1. 高效:使用对象资源可以在一个地方定义而 ...
- IIS 运行ASP.Net的基本配置(编辑中。。。)
今天在新建的IIS上运行Asp.net 程序,发现IIS根本没有走asp的路由系统,直接返回了404,后来发现是IIS没有正确安装,需要安装以下的组件: 未安装前,IIS里的样子: 安装后,IIS的样 ...
- hbase学习一 shell命令操作
基本操作: #命名空间级别: #列出所有命名空间 hbase> list_namespace #新建命名空间 hbase> create_namespace 'ns1' #删除命名空间 h ...
- MySQL-连表查询联系
链接 1.将老师的姓名和所教课程罗列出来 SELECT teacher_id,tname,cname FROM course LEFT JOIN teacher ON course.`teacher_ ...
- 浅析微信小程序技术架构(原创)
周末万里虎抽空体验了下微信小程序的DEMO,对小程序的开发有了一个基础的了解与认识,今天就来和大家分享一下我对小程序的看法. 从官方DEMO来看,小程序在技术架构上非常清晰易懂.JS负责业务逻辑的实现 ...
- [转] Vue中异步错误处理
一般在一个项目开始之前,我们一般会对现有的框架做一定功能上的丰富,比如对ajax请求功能的二次封装,封装的功能可能包含了:通用错误处理,请求过滤,响应过滤等等.如果我们封装的函数叫request,那么 ...