目錄
turtle庫的使用
1、turtle庫概述
turtle(海龜)庫是turtle繪圖體系的Python實現
- turtle繪圖體系:1969年誕生,主要用於程序設計入門
- Python語言的標准庫之一
- 入門級的圖形繪制函數庫
2、標准庫
Python計算生態=標准庫+第三方庫
- 標准庫:隨解釋器直接安裝到操作系統中的功能模塊
- 第三方庫:需要經過過安裝才能使用的功能模塊
- 庫Library、包Package、模塊Module、統稱模塊
3、turtle的原理
turtle(海龜)是一種真實的存在
- 有一只海龜,其實在窗體正中心,在畫布上游走
- 走過的軌跡形成了繪制的圖形
- 海龜由程序控制,可以變換顏色、改變寬度等
Python蟒蛇繪制
設計蟒蛇的基本形狀:
代碼:
import turtle
turtle.setup(800,600)
turtle.pensize(30)
turtle.pencolor('red')
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.seth(-40)
for i in range(4):
turtle.circle(40,80)
turtle.circle(-40,80)
turtle.seth(0)
turtle.fd(40)
turtle.circle(40,180)
turtle.done()
1、Python語法元素理解
- Python蟒蛇繪制共17行代碼,但很多行類似
- 清楚理解這17行代碼能夠掌握Python基本繪圖方法
- 參考框架結構、逐行分析、逐詞理解
2、程序參數的改變
- Python蟒蛇的顏色:黑色、白色、七彩色...
- Python蟒蛇的長度:1節、3節、10節...
- Python蟒蛇的方向:向左走、斜着走...
3、計算問題的擴展
- Python蟒蛇繪制問題是各類圖像繪制問題的代表
- 圓形繪制、五角星繪制、國旗繪制、機器貓繪制...
- 掌握繪制一條線的方法,就可以繪制整個世界
4、簡單字母繪制
import turtle as t
t.setup(800,600)
t.pensize(10)
t.pencolor('red')
t.penup()
t.fd(-250)
t.down()
#o
t.circle(80,360)
#l
t.pencolor('green')
t.penup()
t.fd(130)
t.down()
t.left(90)
t.goto(-120,50)
#d
t.pencolor('blue')
t.right(90)
t.penup()
t.fd(70)
t.right(90)
t.down()
t.goto(-50,0)
t.right(90)
t.circle(-20,180)
#b
t.penup()
t.fd(50)
t.down()
t.circle(-20,180)
t.right(90)
t.goto(0,50)
#0
t.pencolor('black')
t.right(90)
t.penup()
t.fd(80)
t.down()
t.circle(-25,360)
#y
t.pencolor('red')
t.penup()
t.fd(60)
t.right(45)
t.pendown()
t.fd(30)
t.left(90)
t.fd(30)
t.left(180)
t.fd(80)
t.done()
效果:
練習
- 使用turtle庫,繪制一個八邊形。
import turtle as t
t.setup(800,600)
t.pensize(5)
t.pencolor('black')
t.penup()
t.fd(-150)
t.right(90)
t.fd(150)
t.left(90)
t.pendown()
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.done()
效果:
- 使用turtle庫,繪制一個八角圖形。
import turtle as t
t.setup()
t.pensize(5)
t.pencolor('black')
t.penup()
t.fd(-150)
t.down()
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.done()
效果:
- 簡述
import <模塊名>
/from <模塊名> import *
/import <模塊名> as <新模塊名>
三者的區別
答:import<模塊名>:是將此模塊導入進來,它導入的是對象
from <模塊名> import *:是將此模塊的所有方法導入進來,它導入的方法
import <模塊名> as <新模塊名>:是將用新的模塊名代替此模塊名
- 設計程序,要求:循環打印數列`1,3,5,...,99
i = 1
while i < 100:
print(i)
i = i+2
效果:
自制喜好圖
import turtle as t
t.setup(500,500)
t.pensize(5)
t.pencolor('black')
t.penup()
t.fd(-100)
t.left(90)
t.fd(100)
t.left(90)
t.down()
t.fd(30)
t.left(90)
t.fd(150)
t.circle(-30,280)
t.left(100)
t.fd(20)
t.left(90)
t.right(180)
t.penup()
t.fd(50)
t.right(90)
t.down()
t.fd(50)
t.circle(-55,275)
t.penup()
t.fd(50)
t.left(95)
t.down()
t.fd(50)
t.penup()
t.fd(50)
t.right(180)
t.left(90)
t.fd(5)
t.right(85)
t.down()
t.circle(30,80)
t.right(90)
t.fd(15)
t.right(90)
t.penup()
t.fd(30)
t.left(90)
t.fd(20)
t.right(180)
t.pendown()
t.fd(25)
t.right(180)
t.circle(17,150)
# t.penup()
# t.right(45)
# t.fd(20)
# t.right(100)
# t.fd(100)
# t.down()
# t.fd(60)
# t.left(90)
# t.circle(30,180)
t.done()
效果: