#PythonDraw.py import turtle #引入了一個繪圖庫(海歸庫) turtle.setup(650,350,200,200) #設置一個窗體 turtle.penup() #將畫筆抬起 turtle.fd(-250) #讓海龜倒退行進250個像素點,由於海龜處於飛起狀態畫布不留效果 turtle.pendown() #將畫筆放下 turtle.pensize(25) #設置畫筆的寬度為25個像素 turtle.pencolor("purple") #畫筆顏色設為purple turtle.seth(-40) #將海龜方向改為絕對的-40度方向 for i in range(4): #循環4次繪制蟒蛇半徑為40個像素角度分別為80度和-80度 turtle.circle(40,80) turtle.circle(-40,80) turtle.circle(40,80/2) turtle.fd(40) turtle.circle(16,180) turtle.fd(40*2/3) turtle.done() #程序運行后不會自動退出需要手動關閉窗口,去掉這條語句程序運行結束會自動退出
一、turtle基本情況
turtle(海歸)庫是turtle繪圖體系的Python實現
-turtle繪圖體系:1969年誕生,主要用於程序設計入門
-Python語言的標准庫之一
Python計算生態 = 標准庫 + 第三方庫
標准庫:隨解釋器直接安裝到操作系統中的功能模塊
第三方庫:需要經過安裝才能使用的功能模塊
-入門級的圖形繪制函數庫
二、turtle繪圖窗體布局
turtle.setup(width,heigth,startx,starty)
startx、starty不給值默認在正中心
-setup()設置窗體大小及位置
-4個參數中后兩個可選
-setup()不是必須的
三、turtle空間坐標體系
1、絕對坐標
海龜剛開始位於畫布的正中間坐標為(0,0)
turtle.goto(x,y) #海龜從當前位置位移到(x,y)
2、海龜坐標體系
從海龜自身運動來講它看到的是什么樣的,對於海龜來講它的當前行進方向無論是朝向哪個角度都叫前進方向,反方向是后退方向。
turtle.fd(d) #向海龜的正前方向運行
turtle.bk(d) #向海龜的反方向運行
參數d為移動像素數
turtle.circle(r,angle) #以海龜當前位置左側的某一個點為圓心進行曲線運行
四、turtle的角度坐標體系
1、絕對角度
turtle.seth(angle)
-seth()改變海龜進行方向
-seth()只改變方向但不行進不繪制任何信息
-angle 為絕對度數
2、海龜角度
turtle.left(angle) #向左改變angle角度
turtle.right(angle) #向右改變angle角度
五、RGB色彩體系
由三種顏色構成的萬物色
-RGB指紅藍綠三個通道的顏色組合
-覆蓋視力所能感知的顏色組合
-RGB每色取值范圍0-255或0-1小數
常見RGB色彩
1、默認采用小數值,可切換為整數值
turtle.colormode(mode)
-1.0:RGB小數值模式
-255:RGB整數值模式
六、庫引用
擴充Python程序功能的方式
1、-使用import保留字完成,采用<a>.<b>()編碼風格
import <庫名>
<庫名>.<函數名>(<函數參數>)
2、-使用from和import保留字共同完成
from <庫名>import<函數名>
from <庫名> import* #使用這兩種方式在調用函數時就不需要加庫名了,直接用函數名加參數調用。
<函數名>(<函數參數 >)
使用第一種方法不會出現函數重名的問題,第二種方法可能會出現函數名與程序員自定義的函數重名的問題。
3、-使用import和as保留字共同完成(這種方法代碼量較少也防止了函數重名的情況)
import<庫名>as<庫別名>
<庫別名>.<函數名>(<函數參數>)
-給調用的外部庫關聯一個更短、更適合自己的名字對編寫程序來講會帶來很多的便利。
七、turtle畫筆控制函數
畫筆操作后一直有效,一般成對出現
-turtle.penup() 別名 turtle.pu() #抬起畫筆,不在畫布上形成圖案
-turtle.pendown() 別名 turtle.pd() #放下畫筆,在畫布上形成圖案
-turtle.pensize(width) 別名 tutle.width(width) #畫筆寬度
-turtle.pencolor(color) #畫筆顏色 color為顏色字符串或r,g,b值
-顏色字符串: turtle.pencolor("purple") #函數參數為字符串類型且為小寫
-RGB的小數值: turtle.pencolor(0.63,0.13,0.94)
-RGB的元組值: turtle.pencolor((0.63,0.16,0.94))
八、turtle運動控制函數
控制海龜行進方向:走直線或者走曲線
-turtle.forward(d) 別名 turtle.fd(d)
向前行進,海龜走直線
-d:行進距離,可以為負數
-turtle.circle(r,extent=None)
根據半徑r繪制extend角度的弧形
-r:半徑,默認圓心在海龜左側r距離的位置
-extend:繪制角度,默認是360度整圓
九、turtle方向控制函數
控制海龜面對方向:絕對角度和海龜角度
1、絕對角度
-turtlr.sethending(angle) 別名 turtle.seth(angle)
改變行進方向,海龜前進的角度
-angle:將海龜當前方向改變為某一個絕對角度
2、海龜角度
-turtle.left(angle) #海龜向左轉
-turtle.right(angle) #海龜向右轉
-angle:在海龜當前方向上向左或者向右旋轉的角度
注意:方向控制函數只改變海龜行進方向並不在畫布上留下痕跡,如果需要海龜行動需要調用運動控制函數。
十、循環語句與range()函數
循環語句指按一定次數循環執行的一組語句
常用的方式
for <變量> in range(<參數>) #range的參數就是循環的次數
<被循環執行的語句>
-<變量>表示每次循環的計數,0到<次數>-1
for i in range(5)
print("Hello:",i) #print輸出語句加,可以輸出空格
'''輸出
Hello: 0
Hello: 1
Hello: 2
Hello: 3
Hello: 4 '''
range( ) 函數
產生循環計數序列的函數
-range(N)
產生0到N-1的整數序列,共N個
-range (M,N)
產生從M到N-1的整數序列,共N-M個