Python turtle庫的應用——蛇


turtle庫介紹

1、Turtle中的turtle.setup()函數用於啟動一個圖形窗口,它有四個參數

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

分別是:啟動窗口的寬度高度表示窗口啟動時,窗口左上角在屏幕中的坐標位置。 

我們所使用的顯示屏幕也是一個坐標系,該坐標系以左上角為原點,向左和向下分別是x軸和y軸。蟒蛇程序代碼啟動一個1300像素寬、800像素高的窗,該窗口的左上角是屏幕的左上角。 

(startx,starty)表示畫的初始點,(0,0)表示位於電腦屏幕中心

2、Turtle中的turtle.pensize()函數表示小烏龜運動軌跡的寬度。 

3、Turtle中的turtle.pencolor()函數表示小烏龜運動軌跡的顏色。

它包含一個輸入參數,這里我們把它設為藍色,blue,其他顏色單詞也可以使用。Turtle采用RGB方式來定義顏色,如果希望獲得和圖片中顏色一致的小蛇,請輸入turtle.pencolor(“#3B9909”) 

4、Turtle中的turtle.seth(angle)函數表示小烏龜啟動時運動的方向。它包含一個輸入參數,是角度值。

其中,0表示向東,90度向北,180度向西,270度向南;負值表示相反方向。程序中,我們讓小烏龜向-40度啟動爬行,即:向東南方向40度。 

5、turtle.circle()函數讓小烏龜沿着一個圓形爬行

參數rad描述圓形軌跡半徑的位置,這個半徑在小烏龜運行的左側,rad遠位置處。如果 rad為負值,則半徑在小烏龜運行的右側, 參數angle表示小烏龜沿着圓形爬行的弧度值。 

6、turtle.fd()函數也可以用turtle.forward()表示烏龜向前直線爬行移動表示小烏龜向前直線爬行移動,

它有一個參數表示爬行的距離 

7、詳細參數描述

 

 

程序1

import turtle

def drawSnake(rad,angle,num,neckrad):
    for i in range(num):
        turtle.circle(rad,angle)
        turtle.circle(-rad,angle)
    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,3,pythonsize/2)
main()

2、更改顏色

 

 

 3、三角形

import turtle
turtle.setup(1000,1000,0,0)
size=20
turtle.pensize(size)
turtle.color("red")
length=200
turtle.seth(0)
turtle.fd(length)
turtle.seth(120)
turtle.fd(length)
turtle.seth(240)
turtle.fd(length)

 

4、五角星

from turtle import *
color("yellow","red")
pensize(10)
begin_fill()#和end_fill成對出現,填充起點和終點
while True:
    forward(200)
    right(144)
    if abs(pos())<1:#獲取位置的絕對值
        break
end_fill()

import turtle

turtle.pensize(10)
turtle.fillcolor("red")
turtle.begin_fill()
for i in range(5):
    turtle.fd(200)
    turtle.right(144)
turtle.end_fill()

比較上面兩段代碼,第一種通過計算位置距離結束while循環,第二種通過確定數目的if循環結束程序。

第一種通過from turtle import * 引入turtle庫,程序中調用函數,不用再加turtle.前綴,第二種通過import turtle引入turtle庫,調用函數需要加turtle.前綴。

5、太陽花

 1 from turtle import *
 2 color("yellow","red")
 3 pensize(3)
 4 begin_fill()#和end_fill成對出現,填充起點和終點
 5 while True:
 6     forward(200)
 7     right(165)
 8     if abs(pos())<1:#獲取位置的絕對值
 9         break
10 end_fill()

更改旋轉角度,得到漂亮的花

 


免責聲明!

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



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