先畫一個愛心,python
源代碼:ide
#!/usr/bin/env python # -*- coding:utf-8 -*- import turtle import time # 畫心形圓弧 def hart_arc(): for i in range(200): turtle.right(1) turtle.forward(2) def move_pen_position(x, y): turtle.hideturtle() # 隱藏畫筆(先) turtle.up() # 提筆 turtle.goto(x, y) # 移動畫筆到指定起始座標(窗口中心爲0,0) turtle.down() # 下筆 turtle.showturtle() # 顯示畫筆 # 初始化 turtle.setup(width=800, height=500) # 窗口(畫布)大小 turtle.color('red', 'pink') # 畫筆顏色 turtle.pensize(3) # 畫筆粗細 turtle.speed(1) # 描繪速度 # 初始化畫筆起始座標 move_pen_position(x=0,y=-180) # 移動畫筆位置 turtle.left(140) # 向左旋轉140度 turtle.begin_fill() # 標記背景填充位置 # 畫心形直線( 左下方 ) turtle.forward(224) # 向前移動畫筆,長度爲224 # 畫愛心圓弧 hart_arc() # 左側圓弧 turtle.left(120) # 調整畫筆角度 hart_arc() # 右側圓弧 # 畫心形直線( 右下方 ) turtle.forward(224) turtle.end_fill() # 標記背景填充結束位置 # 點擊窗口關閉程序 window = turtle.Screen() window.exitonclick()
小人發射愛心源碼動畫
程序運行截圖spa
import turtle as t from time import sleep def go_to(x, y): t.up() t.goto(x, y) t.down() def head(x, y, r): go_to(x, y) t.speed(20) t.circle(r) leg(x, y) def leg(x, y): t.right(90) t.forward(180) t.right(30) t.forward(100) t.left(120) go_to(x, y - 180) t.forward(100) t.right(120) t.forward(100) t.left(120) hand(x, y) def hand(x, y): go_to(x, y - 60) t.forward(100) t.left(60) t.forward(100) go_to(x, y - 90) t.right(60) t.forward(100) t.right(60) t.forward(100) t.left(60) eye(x, y) def eye(x, y): go_to(x - 50, y + 130) t.right(90) t.forward(50) go_to(x + 40, y + 130) t.forward(50) t.left(90) def big_Circle(size): t.speed(20) for i in range(150): t.forward(size) t.right(0.3) def line(size): t.speed(20) t.forward(51 * size) def small_Circle(size): t.speed(20) for i in range(210): t.forward(size) t.right(0.786) def heart(x, y, size): go_to(x, y) t.left(150) t.begin_fill() line(size) big_Circle(size) small_Circle(size) t.left(120) small_Circle(size) big_Circle(size) line(size) t.end_fill() def main(): t.pensize(2) t.color('red', 'pink') head(-120, 100, 100) heart(250, -80, 1) go_to(100, -300) t.write("To: Python青燈教育", move=True, align="left", font=("楷體", 20, "normal")) t.done() main()