畫一個紅色的五角星
from turtle import * color('red','red') begin_fill() for i in range(5): fd(200) rt(144) end_fill() done()
效果圖:
畫一條蟒蛇
#PythonDraw.py import turtle #turtle.setup(650,350,200,200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") turtle.seth(-40) for i in range(4): turtle.circle(40,80) turtle.circle(-40,80) turtle.circle(40,80/2) turtle.fd(40) turtle.circle(16,180) turtle.fd(40*2/3)
效果圖:
畫一組內切圓
import turtle turtle.pensize(2) turtle.circle(10) turtle.circle(40) turtle.circle(80) turtle.circle(120)
效果圖:
畫一個社會人小豬佩奇,代碼是借鑒某位大佬的
from turtle import * def nose(x,y): pu() goto(x,y) pd() seth(-30) begin_fill() a=0.4 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.08 lt(3) fd(a) else: a=a-0.08 lt(3) fd(a) end_fill() pu() seth(90) fd(25) seth(0) fd(10) pd() pencolor(255,155,192) seth(10) begin_fill() circle(5) color(160,82,45) end_fill() pu() seth(0) fd(20) pd() pencolor(255,155,192) seth(10) begin_fill() circle(5) color(160,82,45) end_fill() def head(x,y): color((255,155,192),"pink") pu() goto(x,y) seth(0) pd() begin_fill() seth(180) circle(300,-30) circle(100,-60) circle(80,-100) circle(150,-20) circle(60,-95) seth(161) circle(-300,15) pu() goto(-100,100) pd() seth(-30) a=0.4 for i in range(60): if 0<=i<30 or 60<=i<90: a=a+0.08 lt(3) fd(a) else: a=a-0.08 lt(3) fd(a) end_fill() def ears(x,y): color((255,155,192),"pink") pu() goto(x,y) pd() begin_fill() seth(100) circle(-50,50) circle(-10,120) circle(-50,54) end_fill() pu() seth(90) fd(-12) seth(0) fd(30) pd() begin_fill() seth(100) circle(-50,50) circle(-10,120) circle(-50,56) end_fill() def eyes(x,y): color((255,155,192),"white") pu() seth(90) fd(-20) seth(0) fd(-95) pd() begin_fill() circle(15) end_fill() color("black") pu() seth(90) fd(12) seth(0) fd(-3) pd() begin_fill() circle(3) end_fill() color((255,155,192),"white") pu() seth(90) fd(-25) seth(0) fd(40) pd() begin_fill() circle(15) end_fill() color("black") pu() seth(90) fd(12) seth(0) fd(-3) pd() begin_fill() circle(3) end_fill() def cheek(x,y): color((255,155,192)) pu() goto(x,y) pd() seth(0) begin_fill() circle(30) end_fill() def mouth(x,y): color(239,69,19) pu() goto(x,y) pd() seth(-80) circle(30,40) circle(40,80) def body(x,y): color("red",(255,99,71)) pu() goto(x,y) pd() begin_fill() seth(-130) circle(100,10) circle(300,30) seth(0) fd(230) seth(90) circle(300,30) circle(100,3) color((255,155,192),(255,100,100)) seth(-135) circle(-80,63) circle(-150,24) end_fill() def hands(x,y): color((255,155,192)) pu() goto(x,y) pd() seth(-160) circle(300,15) pu() seth(90) fd(15) seth(0) fd(0) pd() seth(-10) circle(-20,90) pu() seth(90) fd(30) seth(0) fd(237) pd() seth(-20) circle(-300,15) pu() seth(90) fd(20) seth(0) fd(0) pd() seth(-170) circle(20,90) def foot(x,y): pensize(10) color((240,128,128)) pu() goto(x,y) pd() seth(-90) fd(40) seth(-180) color("black") pensize(15) fd(20) pensize(10) color((240,128,128)) pu() seth(90) fd(40) seth(0) fd(90) pd() seth(-90) fd(40) seth(-180) color("black") pensize(15) fd(20) def tail(x,y): pensize(4) color((255,155,192)) pu() goto(x,y) pd() seth(0) circle(70,20) circle(10,330) circle(70,30) def setting(): pensize(4) hideturtle() colormode(255) color((255,155,192),"pink") setup(840,500) speed(10) def main(): setting() nose(-100,100) head(-69,167) ears(0,160) eyes(0,140) cheek(80,10) mouth(-20,30) body(-32,-8) hands(-56,-45) foot(2,-177) tail(148,-155) done() main()
效果極佳:
簡單總結一下好了,其實turtle庫還是非常有用的,以后可以畫張很有創意的圖片去表白女神了,講不好那天就用上了呢:
顯示器和turtle窗體的左上角都是原點
turtle.setup(width,height,startx,starty)設置窗體大小及位置,后面兩個參數可選,非必需
空間坐標:絕對坐標:右方向x軸,上方向為y軸,正中心為原點,turtle.goto(x,y)讓在任何位置的海龜到達指定的位置
海龜坐標:turtle.fd(d)海龜向前行多少像素
turtle.bk(d)向海龜的反方向運行
turtle.circle(r,angle)以海龜左邊的某一點為圓心進行曲線運行
角度坐標:絕對角度:turtle.seth(angle)angle為絕對度數,表示改變海龜的運行方向
海龜角度:turtle.right(angle),turtle.left(angle)改變海龜的運行方向
RGB體系:turtle.colormode(mode)mode=1.0則改用0和1表示,mode=255則改用255和0表示,默認為小數
庫引用:import <庫名>,from <庫名> import *或者from <庫名> import <函數名>,import <庫名> as <庫別名>
畫筆控制函數:turtle.penup()別名:turtle.pu()抬起畫筆,turtle.pendown()別名:turtle.pd()落下畫筆,turtle.pensize(width)別名:turtle.width(width)設置畫筆寬度,turtle.pencolor(color)設置畫筆顏色,color有三種方式,顏色字符串,或者RGB小數值,或者RGB元組值,例如:turtle.pencolor((0.63,0.13,0.94))
運動控制函數:turtle.circle(r,angle),r(海龜左方向)表示半徑,angle表示繪制的角度,默認是360度
方向控制函數:turtle.seth(angle)改變海龜的行進方向,順時針轉向