欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python海龜繪圖詳解

 更新時(shí)間:2021年12月16日 10:42:39   作者:是Dream呀  
python2.6版本中后引入的一個(gè)簡(jiǎn)單的繪圖工具,叫做海龜繪圖(Turtle Graphics),出現(xiàn)在1966年的Logo計(jì)算機(jī)語(yǔ)言。海龜繪圖(turtle庫(kù))是python的內(nèi)部模塊,使用前導(dǎo)入即可。本文就帶大家深入了解一下海龜繪圖,快來(lái)跟隨小編一起學(xué)習(xí)吧

hello,大家好,我是Dream。最近有小伙伴私信我,說(shuō)讓我出一篇海龜畫圖,這其實(shí)我也不太能弄得明白,那在這里我和大家一塊梳理一下!記得給我點(diǎn)贊收藏喲~

一.畫筆和屏幕

這里單獨(dú)拿開一個(gè)講的話會(huì)很抽象,因?yàn)橐粋€(gè)是線,另一個(gè)是面,面是線的載體,線是面的內(nèi)容

首先大家先運(yùn)行這一段代碼:

import turtle#調(diào)用turtle庫(kù)
turtle.title("繪制第一只海龜")#設(shè)置窗口名稱
print('開始了')
turtle.forward(100)
turtle.left(30) #左轉(zhuǎn)彎和右轉(zhuǎn)彎一個(gè)意思不用寫
turtle.forward(100)

我們可以看到運(yùn)行結(jié)果是這個(gè):

你會(huì)發(fā)現(xiàn)他只會(huì)存在一瞬間,畫完就不見了

我們總會(huì)想讓美好的瞬間多存在一會(huì),這個(gè)時(shí)候我們往往會(huì)用到time這個(gè)庫(kù)

讓我們看一看新的代碼:

import turtle
import time
turtle.title("繪制第一只海龜")
print('let's go')
turtle.forward(100)
turtle.left(30) #左轉(zhuǎn)彎和右轉(zhuǎn)彎一個(gè)意思不用寫
turtle.forward(100)
time.sleep(10)#這里調(diào)用了time庫(kù),sleep顧名思義,睡眠的意思,括號(hào)里是秒數(shù),就是你想讓他停留幾秒的意思

現(xiàn)在我們的畫面便可以停留10s了

當(dāng)然不用time也是可以的,上代碼:

import turtle

turtle.title("繪制第一只海龜")
print('開始了')
turtle.forward(100)
turtle.left(30) #左轉(zhuǎn)彎和右轉(zhuǎn)彎一個(gè)意思不用寫
turtle.forward(100)
turtle.exitonclick()  # 實(shí)現(xiàn)單擊鼠標(biāo)左鍵時(shí)關(guān)閉窗口

或者你可以換成 turtle.done() 讓畫面一直停留

說(shuō)了折磨多,那屏幕是怎么產(chǎn)生的呢?

來(lái)直接看代碼:

turtle.setup(width=400, height=300, startx=None, starty=None)

這里是設(shè)置屏幕的大小,就像上一段代碼一樣,如果你沒(méi)有設(shè)置大小的話,那屏幕就是默認(rèn)值。

此處:

width:設(shè)置窗口的寬度,默認(rèn)為屏幕的 50%。

height:設(shè)置窗口的高度,默認(rèn)為屏幕的 50%。

startx:窗口距離屏幕左邊緣多少距離,負(fù)值表示距離右邊緣,None 表示窗口水平居中。

starty:窗口距離屏幕上邊緣多少距離,負(fù)值表示距離下邊緣,None 表示窗口垂直居中。

當(dāng)然如果你覺(jué)得屏幕背景白色太單調(diào)的話你也可以設(shè)置一下他的背景顏色或者插入自己的圖片(但圖片大小不一,想要設(shè)置的好看的話,需要自己調(diào)節(jié)屏幕大小尺寸)

話不多說(shuō),直接上代碼:

import turtle

turtle.title("繪制第一只海龜")
turtle.bgcolor("green")#這里是設(shè)計(jì)背景顏色
turtle.bgpic(picname='./imgs/xu.gif')#這里是插入圖片,圖片必須放在同一路徑文件下
#圖片格式必須為gif?。?!,不然無(wú)法識(shí)別
turtle.forward(100)
turtle.left(30) #左轉(zhuǎn)彎和右轉(zhuǎn)彎一個(gè)意思不用寫
turtle.forward(100)
turtle.done()  # 海龜繪圖程序的結(jié)束語(yǔ)句(開始主循環(huán))turtle.done()  # 海龜繪圖程序的結(jié)束語(yǔ)句(開始主循環(huán))


這是我自己的背景:

還行啊吧,我的眼光還是不錯(cuò)的喲~

關(guān)于屏幕知識(shí)也就這些了,接下來(lái)說(shuō)一下畫筆:

拿我們剛才寫的代碼來(lái)說(shuō):

import turtle

turtle.title("繪制第一只海龜")
turtle.bgcolor("green")#這里是設(shè)計(jì)背景顏色
turtle.bgpic(picname='./imgs/xu.gif')
turtle.forward(100)
turtle.left(30) #左轉(zhuǎn)彎和右轉(zhuǎn)彎一個(gè)意思不用寫
turtle.forward(100)
turtle.done()  

forward表示向前走,left向左拐多少度,back向后,right向右拐多少度,這是最基本的,看點(diǎn)稍微高級(jí)一點(diǎn)的:

import turtle
import time
turtle.goto(100, 100)
turtle.goto(-100, 100)
turtle.goto(100, -100)
turtle.goto(-100, -100)
turtle.goto(0, 0)

turtle.penup()#這里指從0開始抬筆,繼續(xù)路線,只是不畫了
turtle.forward(100)
turtle.right(90)
turtle.pendown()#落筆繼續(xù)畫
turtle.color("red")#畫筆顏色
turtle.goto(100, -100)
time.sleep(5)

這里:初始位置都是0,就是屏幕中央

放下筆:pendown()

抬起筆:penup()

到指定坐標(biāo):goto(x, y)

顏色:color(“cc”)

畫筆的顏色主要有:

黃色:yellow

紅色:red

藍(lán)色:blue

綠色:green

粉色:pink

紫色:purple

灰色:grey

橘色:orange

那如果你覺(jué)得畫筆太細(xì)咋辦,來(lái)上代碼:

turtle.width(5)

這個(gè)幫你調(diào)粗細(xì),初始值為1

如果你覺(jué)得速度不對(duì)呢,來(lái)上代碼:

turtle.speed(0)  # 設(shè)置畫筆的速度,0為最快

其中0最快,直接出結(jié)果,1最慢,然后從2~10依次加快

那這些就是你要掌握的基礎(chǔ)知識(shí)了~

二.實(shí)戰(zhàn)與應(yīng)用

1.寫字

如何在上面寫字呢:來(lái)來(lái)來(lái)上代碼:

turtle.write( arg, move=False, align="left", font=("Arial", 8, "normal"))

arg:必選參數(shù),用于指定要輸出的文字內(nèi)容,該內(nèi)容會(huì)輸出到當(dāng)前海龜光標(biāo)的所在位置。

move:可選參數(shù),用于指定是否移動(dòng)畫筆到文本的右下角**,默認(rèn)為False (不移動(dòng))。**

align:可選參數(shù),用于指定文字的對(duì)齊方式,其參數(shù)值為left(居左)、center(居中)或者right(居右)中的任意一個(gè),默認(rèn)為 left。

font:可選參數(shù),用于指定字體、字號(hào)和字形,通過(guò)一個(gè)三元組(字體,字號(hào),字形)指定。

說(shuō)明:字形可設(shè)置的值為normal(表示正常)、bold(粗體)、italic(斜體)、underline(下劃線)等。

上代碼:

import turtle  # 導(dǎo)入海龜繪圖模塊

turtle.color("green")  # 填充顏色
turtle.up()  # 抬筆
turtle.goto(-300,0)
turtle.down()  # 落筆
turtle.write("徐以鵬比易烊千璽帥億點(diǎn)。", font=("宋體", 18, "normal"))
turtle.done()  # 海龜繪圖程序的結(jié)束語(yǔ)句(開始主循環(huán))

那就是這個(gè)效果了~

2.用于交互式寫字

import turtle  # 導(dǎo)入海龜繪圖模塊
turtle.color("green")  # 填充顏色
word = turtle.textinput("溫馨提示:", "請(qǐng)輸入要打印的文字")  # 彈出輸入對(duì)話框
turtle.write(word, True, font=("宋體", 18, "italic"))  # 輸出文字
turtle.done()  # 海龜繪圖程序的結(jié)束語(yǔ)句(開始主循環(huán))

3.自己控制方向

import turtle


def move():
    turtle.left(90)
    turtle.forward(100)


turtle.listen()#監(jiān)聽鼠標(biāo)
turtle.onkey(move, "w")#按w進(jìn)行走動(dòng)
turtle.done()
import turtle


def move():
    turtle.forward(2)


turtle.listen()
turtle.onkeypress(move, "w")#一直按w才走
turtle.done()

4.拖動(dòng)小海龜畫圖

ondrag():表示處理鼠標(biāo)拖動(dòng)事件

默認(rèn)值為1(鼠標(biāo)左鍵)、2(鼠標(biāo)中鍵,即按下滑輪)、3(鼠標(biāo)右鍵)

import turtle

t = turtle.Turtle()
t.shape("turtle")
t.color("green")
turtle.listen()


def fun(x, y):
    t.pendown()
    t.goto(x, y)


t.ondrag(fun, 1)
turtle.done()

5.規(guī)定時(shí)間后開始畫

ontimer() 方法來(lái)實(shí)現(xiàn)一個(gè)計(jì)時(shí)器,用于達(dá)到指定時(shí)間時(shí),執(zhí)行一個(gè)操作?

import turtle


def fun():  # 繪制正方形
    for i in range(4):
        turtle.forward(100)
        turtle.left(90)


turtle.getscreen().ontimer(fun, 3000)  # 設(shè)置計(jì)時(shí)器
turtle.done()  # 海龜繪圖程序的結(jié)束語(yǔ)句(開始主循環(huán)) 

到此這篇關(guān)于Python海龜繪圖詳解的文章就介紹到這了,更多相關(guān)Python海龜繪圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • django drf框架自帶的路由及最簡(jiǎn)化的視圖

    django drf框架自帶的路由及最簡(jiǎn)化的視圖

    這篇文章主要介紹了django-drf框架自帶的路由以及最簡(jiǎn)化的視圖,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python讀取實(shí)時(shí)數(shù)據(jù)流示例

    Python讀取實(shí)時(shí)數(shù)據(jù)流示例

    今天小編就為大家分享一篇Python讀取實(shí)時(shí)數(shù)據(jù)流示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python中的extend功能及用法

    python中的extend功能及用法

    Python中的extend()方法用于在列表末尾一次性追加另一個(gè)列表中的多個(gè)值,這篇文章主要介紹了python中的extend功能及用法,需要的朋友可以參考下
    2023-07-07
  • 詳解Python 3D引擎Ursina如何繪制立體圖形

    詳解Python 3D引擎Ursina如何繪制立體圖形

    Python有一個(gè)不錯(cuò)的3D引擎——Ursina。本文就來(lái)手把手教你認(rèn)識(shí)Ursina并學(xué)會(huì)繪制立體圖形,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • python列表操作實(shí)例

    python列表操作實(shí)例

    這篇文章主要介紹了python列表操作方法,實(shí)例分析了Python針對(duì)列表操作的插入、刪除等各種操作技巧,需要的朋友可以參考下
    2015-01-01
  • 動(dòng)態(tài)規(guī)劃之矩陣連乘問(wèn)題Python實(shí)現(xiàn)方法

    動(dòng)態(tài)規(guī)劃之矩陣連乘問(wèn)題Python實(shí)現(xiàn)方法

    這篇文章主要介紹了動(dòng)態(tài)規(guī)劃之矩陣連乘問(wèn)題Python實(shí)現(xiàn)方法,較為詳細(xì)的分析了矩陣連乘問(wèn)題的概念、原理并結(jié)合實(shí)例形式分析了Python相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-11-11
  • Micropython固件使用Pico刷固件并配置VsCode開發(fā)環(huán)境的方法

    Micropython固件使用Pico刷固件并配置VsCode開發(fā)環(huán)境的方法

    這篇文章主要介紹了Micropython固件使用Pico刷固件并配置VsCode開發(fā)環(huán)境的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-07-07
  • 讓Python腳本暫停執(zhí)行的幾種方法(小結(jié))

    讓Python腳本暫停執(zhí)行的幾種方法(小結(jié))

    這篇文章主要介紹了讓Python腳本暫停執(zhí)行的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 詳解Python異常處理中的Finally else的功能

    詳解Python異常處理中的Finally else的功能

    本篇文章主要介紹了詳解Python異常處理中的Finally else的功能,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Python中flatten( ),matrix.A用法說(shuō)明

    Python中flatten( ),matrix.A用法說(shuō)明

    這篇文章主要介紹了Python中flatten( ),matrix.A用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07

最新評(píng)論