turtle庫的使用


turtle庫的使用

1、turtle庫概述

turtle(海龜)庫是turtle繪圖體系的Python實現

  • turtle繪圖體系:1969年誕生,主要用於程序設計入門
  • Python語言的標准庫之一
  • 入門級的圖形繪制函數庫

2、標准庫

Python計算生態=標准庫+第三方庫

  • 標准庫:隨解釋器直接安裝到操作系統中的功能模塊
  • 第三方庫:需要經過過安裝才能使用的功能模塊
  • 庫Library、包Package、模塊Module、統稱模塊

3、turtle的原理

turtle(海龜)是一種真實的存在

  • 有一只海龜,其實在窗體正中心,在畫布上游走
  • 走過的軌跡形成了繪制的圖形
  • 海龜由程序控制,可以變換顏色、改變寬度等

Python蟒蛇繪制

設計蟒蛇的基本形狀:

代碼:

import turtle

turtle.setup(800,600)
turtle.pensize(30)
turtle.pencolor('red')

turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.seth(-40)

for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)

turtle.seth(0)
turtle.fd(40)

turtle.circle(40,180)

turtle.done()

1、Python語法元素理解

  • Python蟒蛇繪制共17行代碼,但很多行類似
  • 清楚理解這17行代碼能夠掌握Python基本繪圖方法
  • 參考框架結構、逐行分析、逐詞理解

2、程序參數的改變

  • Python蟒蛇的顏色:黑色、白色、七彩色...
  • Python蟒蛇的長度:1節、3節、10節...
  • Python蟒蛇的方向:向左走、斜着走...

3、計算問題的擴展

  • Python蟒蛇繪制問題是各類圖像繪制問題的代表
  • 圓形繪制、五角星繪制、國旗繪制、機器貓繪制...
  • 掌握繪制一條線的方法,就可以繪制整個世界

4、簡單字母繪制

import turtle as t

t.setup(800,600)

t.pensize(10)
t.pencolor('red')
t.penup()
t.fd(-250)
t.down()

#o
t.circle(80,360)

#l
t.pencolor('green')
t.penup()
t.fd(130)
t.down()
t.left(90)
t.goto(-120,50)

#d
t.pencolor('blue')
t.right(90)
t.penup()
t.fd(70)
t.right(90)
t.down()
t.goto(-50,0)
t.right(90)
t.circle(-20,180)

#b
t.penup()
t.fd(50)
t.down()
t.circle(-20,180)
t.right(90)
t.goto(0,50)

#0
t.pencolor('black')
t.right(90)
t.penup()
t.fd(80)
t.down()
t.circle(-25,360)

#y
t.pencolor('red')
t.penup()
t.fd(60)
t.right(45)
t.pendown()
t.fd(30)
t.left(90)
t.fd(30)
t.left(180)
t.fd(80)
t.done()

效果:

練習

  1. 使用turtle庫,繪制一個八邊形。
import turtle as t

t.setup(800,600)

t.pensize(5)
t.pencolor('black')
t.penup()
t.fd(-150)
t.right(90)
t.fd(150)
t.left(90)
t.pendown()
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.left(45)
t.fd(150)
t.done()

效果:

  1. 使用turtle庫,繪制一個八角圖形。
import turtle as t

t.setup()
t.pensize(5)
t.pencolor('black')
t.penup()
t.fd(-150)
t.down()
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.left(135)
t.fd(300)
t.done()

效果:

  1. 簡述import <模塊名>/from <模塊名> import */import <模塊名> as <新模塊名>三者的區別

答:import<模塊名>:是將此模塊導入進來,它導入的是對象

​ from <模塊名> import *:是將此模塊的所有方法導入進來,它導入的方法

​ import <模塊名> as <新模塊名>:是將用新的模塊名代替此模塊名

  1. 設計程序,要求:循環打印數列`1,3,5,...,99
i = 1
while i < 100:
    print(i)
    i = i+2

效果:

自制喜好圖

import turtle as t

t.setup(500,500)
t.pensize(5)
t.pencolor('black')
t.penup()
t.fd(-100)
t.left(90)
t.fd(100)
t.left(90)
t.down()
t.fd(30)
t.left(90)
t.fd(150)
t.circle(-30,280)
t.left(100)
t.fd(20)
t.left(90)
t.right(180)
t.penup()
t.fd(50)
t.right(90)
t.down()
t.fd(50)
t.circle(-55,275)
t.penup()
t.fd(50)
t.left(95)
t.down()
t.fd(50)
t.penup()
t.fd(50)
t.right(180)
t.left(90)
t.fd(5)
t.right(85)
t.down()
t.circle(30,80)
t.right(90)
t.fd(15)
t.right(90)
t.penup()
t.fd(30)
t.left(90)
t.fd(20)
t.right(180)
t.pendown()
t.fd(25)
t.right(180)
t.circle(17,150)

# t.penup()
# t.right(45)
# t.fd(20)
# t.right(100)
# t.fd(100)
# t.down()
# t.fd(60)
# t.left(90)
# t.circle(30,180)

t.done()

效果:


免責聲明!

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



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