關于海龜畫圖的全面介紹
這里寫目錄標題
- **關于海龜畫圖的全面介紹**
- **一.畫筆和螢屏
- 二.實戰與應用
hello,大家好,我是Dream,最近有小伙伴私信我,說讓我出一篇海龜畫圖,這其實我也不太能弄得明白,那在這里我和大家一塊梳理一下!記得給我點贊收藏喲~
**一.畫筆和螢屏
**(這里單獨拿開一個講的話會很抽象,因為一個是線,另一個是面,面是線的載體,線是面的內容)
首先大家先運行這一段代碼:
import turtle#呼叫turtle庫
turtle.title("繪制第一只海龜")#設定視窗名稱
print('開始了')
turtle.forward(100)
turtle.left(30) #左轉彎和右轉彎一個意思不用寫
turtle.forward(100)
我們可以看到運行結果是這個:

你會發現他只會存在一瞬間,畫完就不見了
我們總會想讓美好的瞬間多存在一會,這個時候我們往往會用到time這個庫
讓我們看一看新的代碼:
import turtle
import time
turtle.title("繪制第一只海龜")
print('let’s go')
turtle.forward(100)
turtle.left(30) #左轉彎和右轉彎一個意思不用寫
turtle.forward(100)
time.sleep(10)#這里呼叫了time庫,sleep顧名思義,睡眠的意思,括號里是秒數,就是你想讓他停留幾秒的意思
現在我們的畫面便可以停留10s了
當然不用time也是可以的,上代碼:
import turtle
turtle.title("繪制第一只海龜")
print('開始了')
turtle.forward(100)
turtle.left(30) #左轉彎和右轉彎一個意思不用寫
turtle.forward(100)
turtle.exitonclick() # 實作單擊滑鼠左鍵時關閉視窗
或者你可以換成 turtle.done() 讓畫面一直停留
說了折磨多,那螢屏是怎么產生的呢?
來直接看代碼:
turtle.setup(width=400, height=300, startx=None, starty=None)
這里是設定螢屏的大小,就像上一段代碼一樣,如果你沒有設定大小的話,那螢屏就是默認值,
此處:
****width:設定視窗的寬度,默認為螢屏的 50%,
height:設定視窗的高度,默認為螢屏的 50%,
startx:視窗距離螢屏左邊緣多少距離,負值表示距離右邊緣,None 表示視窗水平居中,
starty:視窗距離螢屏上邊緣多少距離,負值表示距離下邊緣,None 表示視窗垂直居中,
當然如果你覺得螢屏背景白色太單調的話你也可以設定一下他的背景顏色或者插入自己的圖片(但圖片大小不一,想要設定的好看的話,需要自己調節螢屏大小尺寸)
話不多說,直接上代碼:
import turtle
turtle.title("繪制第一只海龜")
turtle.bgcolor("green")#這里是設計背景顏色
turtle.bgpic(picname='./imgs/xu.gif')#這里是插入圖片,圖片必須放在同一路徑檔案下
#圖片格式必須為gif!!!,不然無法識別
turtle.forward(100)
turtle.left(30) #左轉彎和右轉彎一個意思不用寫
turtle.forward(100)
turtle.done() # 海龜繪圖程式的結束陳述句(開始主回圈)turtle.done() # 海龜繪圖程式的結束陳述句(開始主回圈)
這是我自己的背景:

還行啊吧,我的眼光還是不錯的喲~
關于螢屏知識也就這些了,接下來說一下畫筆:
拿我們剛才寫的代碼來說:
import turtle
turtle.title("繪制第一只海龜")
turtle.bgcolor("green")#這里是設計背景顏色
turtle.bgpic(picname='./imgs/xu.gif')
turtle.forward(100)
turtle.left(30) #左轉彎和右轉彎一個意思不用寫
turtle.forward(100)
turtle.done()
forward表示向前走,left向左拐多少度,back向后,right向右拐多少度,這是最基本的,看點稍微高級一點的:
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開始抬筆,繼續路線,只是不畫了
turtle.forward(100)
turtle.right(90)
turtle.pendown()#落筆繼續畫
turtle.color("red")#畫筆顏色
turtle.goto(100, -100)
time.sleep(5)

這里:初始位置都是0,就是螢屏中央
放下筆:pendown()
抬起筆:penup()
到指定坐標:goto(x, y)
顏色:color(“cc”)
畫筆的顏色主要有:
黃色:yellow
紅色:red
藍色:blue
綠色:green
粉色:pink
紫色:purple
灰色:grey
橘色:orange
那如果你覺得畫筆太細咋辦,來上代碼:
turtle.width(5)
這個幫你調粗細,初始值為1
如果你覺得速度不對呢,來上代碼:
turtle.speed(0) # 設定畫筆的速度,0為最快
其中0最快,直接出結果,1最慢,然后從2~10依次加快
那這些就是你要掌握的基礎知識了~
**
二.實戰與應用
**
1.寫字
如何在上面寫字呢:來來來上代碼:
turtle.write( arg, move=False, align="left", font=("Arial", 8, "normal"))
arg:必選引數,用于指定要輸出的文字內容,該內容會輸出到當前海龜游標的所在位置,
move:可選引數,用于指定是否移影片筆到文本的右下角**,默認為False (不移動),**
align:可選引數,用于指定文字的對齊方式,其引數值為left(居左)、center(居中)或者right(居右)中的任意一個,默認為 left,
font:可選引數,用于指定字體、字號和字形,通過一個三元組(字體,字號,字形)指定,
說明:字形可設定的值為normal(表示正常)、bold(粗體)、italic(斜體)、underline(下劃線)等,
上代碼:
import turtle # 匯入海龜繪圖模塊
turtle.color("green") # 填充顏色
turtle.up() # 抬筆
turtle.goto(-300,0)
turtle.down() # 落筆
turtle.write("徐以鵬比易烊千璽帥億點,", font=("宋體", 18, "normal"))
turtle.done() # 海龜繪圖程式的結束陳述句(開始主回圈)

那就是這個效果了~
2.用于互動式寫字:
import turtle # 匯入海龜繪圖模塊
turtle.color("green") # 填充顏色
word = turtle.textinput("溫馨提示:", "請輸入要列印的文字") # 彈出輸入對話框
turtle.write(word, True, font=("宋體", 18, "italic")) # 輸出文字
turtle.done() # 海龜繪圖程式的結束陳述句(開始主回圈)

3.自己控制方向
import turtle
def move():
turtle.left(90)
turtle.forward(100)
turtle.listen()#監聽滑鼠
turtle.onkey(move, "w")#按w進行走動
turtle.done()
import turtle
def move():
turtle.forward(2)
turtle.listen()
turtle.onkeypress(move, "w")#一直按w才走
turtle.done()
4.拖動小海龜畫圖: ondrag():表示處理滑鼠拖動事件
默認值為1(滑鼠左鍵)、2(滑鼠中鍵,即按下滑輪)、3(滑鼠右鍵)
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.**規定時間后開始畫:**ontimer() 方法來實作一個計時器,用于達到指定時間時,執行一個操作
import turtle
def fun(): # 繪制正方形
for i in range(4):
turtle.forward(100)
turtle.left(90)
turtle.getscreen().ontimer(fun, 3000) # 設定計時器
turtle.done() # 海龜繪圖程式的結束陳述句(開始主回圈)
這些便是我要分享給大家的知識了,只有多練才會熟練!
如果你喜歡的話,就不要吝惜你的一鍵三連了~
謝謝大家!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/246174.html
標籤:python
上一篇:阿里面試題:什么是回圈依賴?Spring是如何解決回圈依賴的?
下一篇:Python爬取小姐姐圖片
