1. 程式人生 > >Python學習之旅(三十二)

Python學習之旅(三十二)

Python基礎知識(31):圖形介面(Ⅱ)

Python內建了turtle庫,可以在計算機上繪圖

運動控制:

1、畫筆定位到座標(x,y):turtle.goto(x,y)

2、向正方向運動 distance 長的距離:turtle.forward(distance)

3、向負方向運動 distance 長的距離:turtle.backward(distance)

4、向右偏angle度:turtle.right(angle)

5、向左偏angle度:turtle.left(angle)

6、回到原點:turtle.home()

7、畫圓形以radius為半徑,extent為圓的角度:turtle.circle(radius, extent=None, steps=None)

8、以speed速度運動:turtle.speed(speed)

一、簡單的長方形

width()函式可以設定筆刷寬度,pencolor()函式可以設定顏色

#匯入turtle包的所有內容
from turtle import *

#設定筆刷寬度
width(5)

#前進
forward(200)
#右轉90度
right(90)

#筆刷顏色
pencolor('red')
forward(100)
right(90)

pencolor('green')
forward(200)
right(90)

pencolor('blue')
forward(100)
right(90)

#呼叫done()使得視窗等待被關閉,否則將立即關閉視窗
done()

執行上述程式碼,會自動彈出一個繪圖視窗,然後繪製出一個長方形

二、用正方形畫圓

60 個正方形每隔 1 度排列,短短几行程式碼可以生成一個漂亮規則的圖形

import turtle
for i in range(360):
turtle.setheading(i)
for i in range(4):
turtle.forward(100)
turtle.left(90)

執行完這個程式大概要幾分鐘的時間,效果圖如下

三、繪製一棵分型樹

使用遞迴繪製一棵分型樹

from turtle import *

#
設定色彩模式是RGB: colormode(255) lt(90) lv = 14 l = 120 s = 45 width(lv) # 初始化RGB顏色: r = 0 g = 0 b = 0 pencolor(r, g, b) penup() bk(l) pendown() fd(l) def draw_tree(l, level): global r, g, b # save the current pen width w = width() # narrow the pen width width(w * 3.0 / 4.0) # set color: r = r + 1 g = g + 2 b = b + 3 pencolor(r % 200, g % 200, b % 200) l = 3.0 / 4.0 * l lt(s) fd(l) if level < lv: draw_tree(l, level + 1) bk(l) rt(2 * s) fd(l) if level < lv: draw_tree(l, level + 1) bk(l) lt(s) # restore the previous pen width width(w) speed("fastest") draw_tree(l, 4) done()

執行大概要幾分鐘的時間,效果圖如下

 

參考資料:

1、廖雪峰學習官網:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001542537415495bc2748dc8ceb4d3890301cf8235e3728000

2、不會飛的章魚:https://www.cnblogs.com/OctoptusLian/p/6363354.html

3、海龜繪圖簡易教程|Turtle for Python:https://blog.csdn.net/u013468614/article/details/82622497