windows下python3安装turtle安装以及解决方案

前言  turtle(海龟库)是python的一个绘制图像的函数库,它就像海龟一样,给定指令和坐标,在画布坐标系中一步一步绘制出你想要的图形,比如小猪佩奇、哆啦A梦、皮卡丘等。

但是在本地直接进行安装时候会出现错误:  pip install turtle 

会出现错误

Command "python setup.py egg_info" failed with error code 1 in C:\Users\XXX\AppData\Local\Temp\pip-install-qm1_x9jy\turtle\   提示语法错误

 先按照给定的tar.gz函数包的下载链接输入浏览器进行下载(每个人可能不一样)       https://files.pythonhosted.org/packages/ff/f0/21a42e9e424d24bdd0e509d5ed3c7dfb8f47d962d9c044dba903b0b4a26f/turtle-0.0.2.tar.gz   按照网址下载安装包,进行源码安装!

把文件压缩包进行下载并且进行解压,然后在对里面:

在setup.py里面进行修改:

修改第40行代码如下(其实就是增加了括号,python2的语法格式是没有括号的,但是python3没有括号就会报错,就像print函数)  

   except (ValueError, ve):

然后进入cmd命令窗口进行:再用pip安装,此处 pip install 后面接的是你修改好的turtle文件夹所在位置

pip install C:\Users\XXX\Desktop\turtle-0.0.2

然后进行比较验证: 验证成功

Turtle库基础知识  

1.画布(canvas)  

画布就是turtle为我们展开用于绘图区域默认大小(400, 300),我们可以设置它的大小和初始位置。

 2.画笔(pen)

 2.1画笔的状态

      在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。

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

 2.2 画笔的属性  

 画笔(画笔的属性,颜色、画线的宽度等)  

turtle.pensize():设置画笔的宽度;

turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。

turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

2.3 绘图命令

    操纵海龟绘图有着许多的命令,这些命令可以划分为3种:

   一种为运动命令,

   一种为画笔控制命令,

  还有一种是全局控制命令。  

2.3.1  画笔运动命令:  

命令                      说明

   turtle.home() 将turtle移动到起点(0,0)和向东

   turtle.speed(speed) 画笔绘制的速度范围[0,10]整数

   turtle.forward(distance) 向当前画笔方向移动distance像素长

   turtle.backward(distance) 向当前画笔相反方向移动distance像素长度

   turtle.right(degree) 顺时针移动degree°

   turtle.left(degree) 逆时针移动degree°

   turtle.pendown() 移动时绘制图形放下笔,,默认绘制

   turtle.penup() 移动时不绘制图形,提起笔,用于另起一个地方绘制时用

   turtle.circle(r,extent,step) 绘制一个指定半径、弧度范围、阶数(正多边形)的圆

   turtle.dot(diameter,color) 绘制一个指定直径和颜色的圆

2.3.2 画笔控制命令:  

命令                               说明

  turtle.pencolor() 画笔颜色

  turtle.pensize(width) 画笔宽度(绘制图形时的宽度)

  turtle.color(color1, color2) 同时设置pencolor=color1, fillcolor=color2

  turtle.filling() 返回当前是否在填充状态

   turtle.begin_fill() 准备开始填充图形

  turtle.end_fill() 填充完成

  turtle.hideturtle() 隐藏画笔的turtle形状

  turtle.showturtle() 显示画笔的turtle形状

2.3.3 全局控制命令  

 命令                                                       说明

  turtle.clear() 清空turtle窗口,但是turtle的位置和状态不会改变

  turtle.reset() 清空窗口,重置turtle状态为起始状态

  turtle.undo() 取消最后一个图的操作

  turtle.isvisible() 返回当前turtle是否可见

  turtle.stamp() 复制当前图形

  turtle.write(s, [font=("font-name",font_size,"font_type")]) 写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项

2.2.3其他命令  

 命令                                              说明

   turtle.mainloop()或turtle.done() 启动事件循环 -调用Tkinter的mainloop函数。必须是乌龟图形程序中的最后一个语句。        turtle.mode(mode=None) 设置乌龟模式(“standard”,“logo(向北或向上)”或“world()”)并执行重置。如果没有给出模式,则返回     当前模式。

  turtle.undo() 取消最后一个图的操作

  turtle.isvisible() 返回当前turtle是否可见

  turtle.stamp() 复制当前图形

  turtle.write(s, [font=("font-name",font_size,"font_type")])  写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项

小例子: Rose(玫瑰花)

import turtle
 
# 设置初始位置
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)
 
# 花蕊
turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(10, 180)
turtle.circle(25, 110)
turtle.left(50)
turtle.circle(60, 45)
turtle.circle(20, 170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30, 110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90, 70)
turtle.circle(30, 150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80, 90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150, 80)
turtle.left(50)
turtle.circle(150, 90)
turtle.end_fill()
 
# 花瓣1
turtle.left(150)
turtle.circle(-90, 70)
turtle.left(20)
turtle.circle(75, 105)
turtle.setheading(60)
turtle.circle(80, 98)
turtle.circle(-90, 40)
 
# 花瓣2
turtle.left(180)
turtle.circle(90, 40)
turtle.circle(-80, 98)
turtle.setheading(-83)
 
# 叶子1
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
 
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)
 
# 叶子2
turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
 
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200, 60)
 

 

 

  • 33
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值