python學習2:turtle的使用蟒蛇繪制的學習以及自己摸索的等邊三角形繪制(跟隨mooc學習)


首先先放上蟒蛇的繪制程序

import turtle#引入外部庫#def保留字用於 定義函數

def drawSnake(rad,angle,len,neckrad):
for i in range(len):
turtle.circle(rad,angle)
#畫圓,rad圓形軌跡半徑的位置
#angle表示小烏龜沿着圓形爬行的弧度
turtle.circle(-rad,angle)
turtle.pencolor("red")
turtle.pencolor("blue")
turtle.circle(rad,angle/2)
turtle.fd(rad)#烏龜向前直線爬行,參數表示爬行的距離
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3)

def main():
turtle.setup(1300,800,0,0)
#啟動了一個圖形窗口(寬度,高度,左上角在屏幕中的位置)
pythonsize=30
turtle.pensize(pythonsize)
#小烏龜運行軌跡的寬度
turtle.pencolor("blue")
#小烏龜運行軌跡的顏色
turtle.seth(-40)
#啟動時候運行的方向
drawSnake(40,80,5,pythonsize/2)
#啟動繪制蟒蛇的功能

main()#去執行main()函數

Python語法元素
import turtle
import是一個關鍵字,用來引入一些外部庫,
這里的含義是引入一個名字交turtle的函數庫
使用turtle庫,同學們頭腦里需要有這樣一個概念: 
想象一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,
(0,0)位置開始 
它根據一組函數指令的控制,在這個平面坐標系中移動,從
而在它爬行的路徑上繪制了圖形
def定義函數
 def用於定義函數,這段程序中,共出現兩次def關鍵詞,
包含兩個函數drawSnake和main。 
函數是一組代碼的集合,用於表達一個功能,或者說,函
數表示一組代碼的歸屬,函數名稱是這段代碼的名字。 
def所定義的函數在程序中未經調用不能直接執行,需要
通過函數名調用才能夠執行。
程序運行
 可以看到,兩個def語句定義的函數所包含語句與def行
存在縮進關系,def后連續的縮進語句都是這個函數的一部
分。
 由於def定義的函數在程序中未經調用不會被執行,整個
程序第一條執行的語句是main(),它表示執行名字為main()
的函數。
從而,該程序跳轉到main()函數定義的一組語句中執行,
即開始執行turtle.setup()語句
同樣的,main()函數的最后一條語句調用了drawSnake()
函數,當執行到這條語句時,程序跳轉到drawSnake()函
數中運行。
程序
 程序運行main()函數中語句,遇到setup函數
Turtle中的turtle.setup()函數用於啟動一個圖形窗口,
它有四個參數
turtle.setup(width,height,startx,starty)
分別是:啟動窗口的寬度和高度
表示窗口啟動時,窗口左上角在屏幕中的坐標位置。
我們所使用的顯示屏幕也是一個坐標系,該坐標系以
左上角為原點,向左和向下分別是x軸和y軸。
蟒蛇程序代碼啟動一個1300像素寬、800像素高的窗
口,該窗口的左上角是屏幕的左上角。
Turtle中的turtle.pensize()函數表示小烏龜運動軌跡
的寬度。
它包含一個輸入參數,這里我們把它設為30像素,用
pythonsize變量表示。
 Turtle中的turtle.pencolor()函數表示小烏龜運動軌跡
的顏色。
它包含一個輸入參數,這里我們把它設為藍色,blue,
其他顏色單詞也可以使用。Turtle采用RGB方式來定義
顏色,如果希望獲得和圖片中顏色一致的小蛇,請輸入
turtle.pencolor(“#3B9909”)
Turtle中的turtle.seth(angle)函數表示小烏龜啟動時
運動的方向。它包含一個輸入參數,是角度值。
其中,0表示向東,90度向北,180度向西,270度向
南;負值表示相反方向。
程序中,我們讓小烏龜向-40度啟動爬行,即:向東南
方向40度。
main()函數給出了小烏龜爬行的窗體大小,爬行軌跡
顏色和寬度以及初始爬行的方位。
最后,調用drawSnake函數啟動繪制蟒蛇功能。
drawSnake函數有四個參數,根據調用時給出的參數,
分別將40傳遞給rad、80給angle,5給len,15給
neckrad
turtle.circle()函數功能
 turtle.circle()函數讓小烏龜沿着一個圓形爬行
參數rad描述圓形軌跡半徑的位置
這個半徑在小烏龜運行的左側rad遠位置處,如果
rad為負值,則半徑在小烏龜運行的右側 
參數angle表示小烏龜沿着圓形爬行的弧度值
turtle.fd()函數功能
turtle.fd()函數也可以用turtle.forward()表示烏龜向
前直線爬行移動
表示小烏龜向前直線爬行移動,它有一個參數表示爬
行的距離

下面是通過學習繪制蟒蛇自行完成的繪制等邊三角形的程序:
import turtle

#繪制等邊三角形
def main():
turtle.setup(1300, 800, 0, 0)
pythonsize=20
turtle.pensize(pythonsize)
turtle.pencolor("red")
turtle.seth(0)
turtle.fd(200)
turtle.pencolor("yellow")
turtle.seth(120)
turtle.fd(200)
turtle.pencolor("blue")
turtle.seth(240)
turtle.fd(200)
main()
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM