日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

第四章 python的turtle库的运用

發布時間:2023/11/27 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第四章 python的turtle库的运用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們可以嘗試用python的自帶turtle庫繪制一條蟒蛇

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

我們先把這段蟒蛇繪制的實例代碼貼出來,各位可以在自己的本地運行一下看看效果,然后我們再繼續分析代碼:

 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,就是海龜

學會海龜繪圖體系之后,我們可以完成更加復雜的繪制:五角星繪制、國旗繪制、機器貓繪制

掌握了繪制一條線的方法,就可以繪制整個世界

?

turtle庫概述:

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

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

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

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

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

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

?

turtle的原理:

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

走過的軌跡形成了繪制的圖形

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

?

turtle的繪圖窗體:

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

turtle的繪圖窗體:

turtle的繪圖窗體:

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

注意三點:

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

2、4個參數后兩個參數可選

3、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)

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

2、angle為絕對角度

3、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小數值中文名稱
white255,255,2551,1,1白色
yellow255,255,01,1,0黃色
magenta255,0,2551,0,1洋紅
cyan0,255,2550,1,1青色
blue0,0,2550,0,1藍色
black0,0,00,0,0黑色
seashell255,245,2381,0.96,0.93海貝色
gold255,215,01,0.84,0金色
pink255,192,2031,0.75,0.80粉紅色
brown165,42,420.65,0.16,0.16棕色
purple160,32,2400.63,0.13,0.94紫色
tomato255,99,711,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參與可以有三種形式

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

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

3、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個

?

轉載于:https://www.cnblogs.com/chy8/p/9448606.html

總結

以上是生活随笔為你收集整理的第四章 python的turtle库的运用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。