第四章 python的turtle庫的運用

咱們能夠嘗試用python的自帶turtle庫繪製一條蟒蛇python

首先咱們設計一下蟒蛇的基本形狀shell

咱們先把這段蟒蛇繪製的實例代碼貼出來,各位能夠在本身的本地運行一下看看效果,而後咱們再繼續分析代碼:函數

 1 #PythonDraw.py
 2 import turtle  3 turtle.setup(650, 350, 200, 200)  4 turtle.penup()  5 turtle.fd(-250)  6 turtle.pendown()  7 turtle.pensize(25)  8 turtle.pencolor("purple")  9 turtle.seth(-40) 10 for i in range(4): 11     turtle.circle(40, 80) 12     turtle.circle(-40, 80) 13 turtle.circle(40, 80/2) 14 turtle.fd(40) 15 turtle.circle(16, 180) 16 turtle.fd(40 * 2/3) 17 turtle.done()

程序關鍵:import保留字,引入了一個繪圖體系,名字叫:turtle,就是海龜編碼

學會海龜繪圖體系以後,咱們能夠完成更加複雜的繪製:五角星繪製、國旗繪製、機器貓繪製spa

掌握了繪製一條線的方法,就能夠繪製整個世界操作系統

 

turtle庫概述:設計

turtle庫的turtle繪圖體系的python實現3d

turtle繪圖體系:1969年誕生,主要用於程序設計入門code

        python的標準庫之一,入門級的圖形繪製函數庫orm

python的計算生態:python標準庫+第三方庫

標準庫:隨解釋器直接安裝到操做系統的功能模塊

第三方庫:須要通過安裝才能使用的功能模塊

 

turtle的原理:

turtle是一種真實的存在,有一隻海龜,在窗體的正中心,在畫布上游走

走過的軌跡造成了繪製的圖形

海龜由程序控制,能夠變換顏色、改變寬度等

 

turtle的繪圖窗體:

turtle的一個畫布空間,最小單位是像素

turtle的繪圖窗體:

turtle的繪圖窗體:

1 turtle.setup(width, height, startx, starty)

注意三點:

一、setup設置船體的大小及位置

二、4個參數後兩個參數可選

三、setup不是必須的

 

turtle空間座標體系

絕對座標:

1 turtle.goto(x,y)

這句是經常使用語法,讓海龜爬

咱們試試以下的代碼,而後看看運行結果

1 import turtle 2 turtle.goto( 100, 100) 3 turtle.goto( 100,-100) 4 turtle.goto(-100,-100) 5 turtle.goto(-100, 100) 6 turtle.goto(0,0)

咱們運行以後看看效果,以下圖所示:

海龜的空間座標體系

turtle.circle(r,angle),海龜左側圓心,半徑爲r畫圓

1 import turtle 2 turtle.circle(100,90) 3 turtle.done()

動手試試上述代碼,會加深對circle函數的理解

 

下面咱們瞭解一下海龜庫的角度座標體系

turtle.seth(angle)

一、seth() 改變烏龜行進方向

二、angle爲絕對角度

三、seth只改變方向但不行進

海龜也有相對角度

1 turtle.left(angle) 2 turtle.right(angle)

咱們來試試以下代碼的繪製效果,來體會Turtle的角度體系

1 import turtle 2 turtle.left(45) 3 turtle.fd(150) 4 turtle.right(135) 5 turtle.fd(300) 6 turtle.left(135) 7 turtle.fd(150) 8 turtle.done()

繪製結果以下圖所示:

下面咱們涉及一下RGB色彩體系

萬物色均可以由三種顏色構成

RGB指的是紅綠藍三個通道的顏色組合

覆蓋視力所能感知的全部顏色

RGB每色取值範圍是0-255或0-1小數

經常使用的RGB色彩:

英文名稱 RGB整數值 RGB小數值 中文名稱
white 255,255,255 1,1,1 白色
yellow 255,255,0 1,1,0 黃色
magenta 255,0,255 1,0,1 洋紅
cyan 0,255,255 0,1,1 青色
blue 0,0,255 0,0,1 藍色
black 0,0,0 0,0,0 黑色
seashell 255,245,238 1,0.96,0.93 海貝色
gold 255,215,0 1,0.84,0 金色
pink 255,192,203 1,0.75,0.80 粉紅色
brown 165,42,42 0.65,0.16,0.16 棕色
purple 160,32,240 0.63,0.13,0.94 紫色
tomato 255,99,71 1,0.39,0.28 番茄色

turtle的RGB色彩模式

默認採用小數值,能夠切換成整數值:

1 turtle.colormode(mode) 2 #1.0:RGB小數值模式
3 #255:RGB整數值模式

turtle程序語法元素分析:

庫引用:

擴充python程序功能的方式

用import保留字完成,採用<a>.<b>()編碼風格

import <庫名>

<庫名>.<函數名>(<函數參數>)

 1 #PythonDraw.py
 2 import turtle  3 turtle.setup(650, 350, 200, 200)  4 turtle.penup()  5 turtle.fd(-250)  6 turtle.pendown()  7 turtle.pensize(25)  8 turtle.pencolor("purple")  9 turtle.seth(-40) 10 for i in range(4): 11      turtle.circle(40, 80) 12      turtle.circle(-40, 80) 13 turtle.circle(40, 80/2) 14 turtle.fd(40) 15 turtle.circle(16, 180) 16 turtle.fd(40 * 2/3) 17 turtle.done()

但是,超級多的turtle,好煩,咋辦????

import的更多用法:

使用from和import保留字共同完成

from <庫名> import <函數名>

from <庫名> import *

<函數名>(<函數參數>)

 1 #PythonDraw.py
 2 from turtle import *
 3 setup(650, 350, 200, 200)  4 penup()  5 fd(-250)  6 pendown()  7 pensize(25)  8 pencolor("purple")  9 seth(-40) 10 for i in range(4): 11     circle(40, 80) 12     circle(-40, 80) 13 circle(40, 80/2) 14 fd(40) 15 circle(16, 180) 16 fd(40 * 2/3) 17 done()

這麼好的方法咋不早說呢???

由於第一種方法不會出現函數重名問題,而第二種方法會出現函數重名問題

import的更多用法

使用import和as保留字共同完成

import <庫名> as <庫別名>

<庫別名>.<函數名>(<函數參數>)

至關於給庫起個簡單的名字,如:狗娃

 1 #PythonDraw.py
 2 import turtle as t  3 t.setup(650, 350, 200, 200)  4 t.penup()  5 t.fd(-250)  6 t.pendown()  7 t.pensize(25)  8 t.pencolor("purple")  9 t.seth(-40) 10 for i in range(4): 11      t.circle(40, 80) 12      t.circle(-40, 80) 13 t.circle(40, 80/2) 14 t.fd(40) 15 t.circle(16, 180) 16 t.fd(40 * 2/3) 17 t.done()

這個方法比較推薦,也簡潔了代碼書寫。

下面咱們來分析下面這段代碼的畫筆控制函數

1 turtle.penup() 2 turtle.fd(-250) 3 turtle.pendown() 4 turtle.pensize(25) 5 turtle.pencolor("purple")

畫筆操做後一直有效,通常成對出現

turtle.penup() #擡起畫筆,海龜在飛 別名:turtle.pu()

turtle.pendown() #方向畫筆,海龜在爬 別名:turtle.pd()

畫筆設置後一直有效,直到下次從新設置

turtle.pensize(width) 別名:turtle.width(width)

  畫筆寬度,也就是海龜的腰圍

turtle.pencolor(color) color爲顏色字符串或者RGB值

  畫筆顏色,海龜在塗裝

pencolor(color)中的color參與能夠有三種形式

一、顏色字符串 :turtle.pencolor("purple")

二、RGB的小數值:turtle.pencolor(0.63,0.13,0.94)

三、RGB的元組值:turtle.pencolor((0.63,0.13,0.94))

turtle的運動控制函數

控制海龜行進:走直線&走曲線

turtle.forward(d)  別名turtle.fd(d)

向前行進,海龜走直線

d:行進距離,能夠爲負數

turtle.circle(r,extend=None)

  根據半徑r繪製extend角度的弧形

r:默認圓心在海龜左側r距離的位置

extent:繪製角度,默認360度整圓

 

方向控制函數

turtle.seth(45)

turtle.seth(-135)

控制海龜面對的方向:絕對角度和相對角度

turtle.left(angle)  海龜向左轉

turtle.right(angle)  海龜向右轉

angle:在海龜當前行進方向上旋轉的角度

循環語句與range()函數

1 for i in range(4): 2     tirtle.circle(40,80) 3     tirtle.circle(-40,80)

按照必定次數循環執行一組語句

for <變量> in range(<次數>):

  <被循環執行的語句>

<變量>表示每次循環的計數,0到<次數>-1

 

range()函數:產生循環計數序列

range(N) 產生0到N-1的整數序列,共N個

range(M,N)產生M到N-1的整數序列,共N-M個

相關文章
相關標籤/搜索