python一些有趣的小程序
06-27
python一些有趣的小程序
畫朵玫瑰:畫個520表白樹吧
推薦閱讀:
來自專欄菜鳥學編程
Python 無所不能,有時候做些有趣的小程序,能讓我們的生活更有情調。python程序員也可以浪漫表白,畫個小豬佩琦啥的,開心開心。
誰說程序員就不會浪漫,來來來,用python來實現一些浪漫的事情。畫個愛心是比較簡單的了:import turtle as t
t.pensize(2)t.pencolor("red")t.left(45)t.fd(200)t.circle(100, 180)t.right(90)t.circle(100, 180)t.fd(200)t.done()效果如下:
如果需要表白,把表白對象填上import turtleimport randomdef love(x,y):#在(x,y)處畫愛心lalala lv=turtle.Turtle() lv.hideturtle() lv.up()lv.goto(x,y)#定位到(x,y)
def curvemove():#畫圓弧 for i in range(20): lv.right(10) lv.forward(2) lv.color(red,pink) lv.speed(10000000) lv.pensize(1) #開始畫愛心lalala lv.down()lv.begin_fill()
lv.left(140) lv.forward(22) curvemove() lv.left(120) curvemove() lv.forward(22) lv.write("安蜀黍",font=("Arial",12,"normal"),align="center")#寫上表白的人的名字 lv.left(140)#畫完複位 lv.end_fill()love(100,100)
我們看看是怎麼實現的。Turtle庫是Python語言中一個很流行的繪製圖像的函數庫,想像一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據一組函數指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪製了圖形。- 運動命令:forward(degree) #向前移動距離degree代表距離backward(degree) #向後移動距離degree代表距離right(degree) #向右移動多少度left(degree) #向左移動多少度
goto(x,y) #將畫筆移動到坐標為x,y的位置
stamp() #複製當前圖形speed(speed) #畫筆繪製的速度範圍[0,10]整數 - 畫筆控制命令:down() #移動時繪製圖形,預設時也為繪製up() #移動時不繪製圖形pensize(width) #繪製圖形時的寬度color(colorstring) #繪製圖形時的顏色fillcolor(colorstring) #繪製圖形的填充顏色fill(Ture)fill(false)
來畫一個心連心
畫個小豬佩琦
附上代碼,拿走不謝!# coding:utf-8import turtle as tdef nose(x,y):#鼻子 t.pu() t.goto(x,y)t.pd()
t.seth(-30) t.begin_fill() a=0.4 for i in range(120): if 0<=i<30 or 60<=i<90: a=a+0.08 t.lt(3) #向左轉3度 t.fd(a) #向前走a的步長 else: a=a-0.08 t.lt(3) t.fd(a) t.end_fill() t.pu() t.seth(90) t.fd(25) t.seth(0) t.fd(10) t.pd() t.pencolor(255,155,192) t.seth(10) t.begin_fill() t.circle(5) t.color(160,82,45) t.end_fill() t.pu() t.seth(0) t.fd(20) t.pd() t.pencolor(255,155,192) t.seth(10) t.begin_fill() t.circle(5) t.color(160,82,45) t.end_fill()def head(x,y):#頭 t.color((255,155,192),"pink") t.pu() t.goto(x,y) t.seth(0) t.pd() t.begin_fill() t.seth(180) t.circle(300,-30) t.circle(100,-60) t.circle(80,-100) t.circle(150,-20) t.circle(60,-95) t.seth(161) t.circle(-300,15) t.pu() t.goto(-100,100) t.pd() t.seth(-30) a=0.4 for i in range(60): if 0<=i<30 or 60<=i<90: a=a+0.08 t.lt(3) #向左轉3度 t.fd(a) #向前走a的步長 else: a=a-0.08 t.lt(3) t.fd(a) t.end_fill()def ears(x,y): #耳朵 t.color((255,155,192),"pink") t.pu() t.goto(x,y) t.pd() t.begin_fill() t.seth(100) t.circle(-50,50) t.circle(-10,120) t.circle(-50,54) t.end_fill() t.pu() t.seth(90) t.fd(-12) t.seth(0) t.fd(30) t.pd() t.begin_fill() t.seth(100) t.circle(-50,50) t.circle(-10,120) t.circle(-50,56) t.end_fill()def eyes(x,y):#眼睛 t.color((255,155,192),"white") t.pu() t.seth(90) t.fd(-20) t.seth(0) t.fd(-95) t.pd() t.begin_fill() t.circle(15) t.end_fill() t.color("black") t.pu() t.seth(90) t.fd(12) t.seth(0) t.fd(-3) t.pd() t.begin_fill() t.circle(3) t.end_fill() t.color((255,155,192),"white") t.pu() t.seth(90) t.fd(-25) t.seth(0) t.fd(40) t.pd() t.begin_fill() t.circle(15) t.end_fill() t.color("black") t.pu() t.seth(90) t.fd(12) t.seth(0) t.fd(-3) t.pd() t.begin_fill() t.circle(3) t.end_fill()def cheek(x,y):#腮 t.color((255,155,192)) t.pu() t.goto(x,y) t.pd() t.seth(0) t.begin_fill() t.circle(30) t.end_fill()def mouth(x,y): #嘴 t.color(239,69,19) t.pu() t.goto(x,y) t. pd() t.seth(-80) t.circle(30,40) t.circle(40,80)def body(x,y):#身體 t.color("red",(255,99,71)) t.pu() t.goto(x,y) t.pd() t.begin_fill() t.seth(-130) t.circle(100,10) t.circle(300,30) t.seth(0) t.fd(230) t.seth(90) t.circle(300,30) t.circle(100,3) t.color((255,155,192),(255,100,100)) t.seth(-135) t.circle(-80,63) t.circle(-150,24) t.end_fill()def hands(x,y):#手 t.color((255,155,192)) t.pu() t.goto(x,y) t.pd() t.seth(-160) t.circle(300,15) t.pu() t.seth(90) t.fd(15) t.seth(0) t.fd(0) t.pd() t.seth(-10) t.circle(-20,90) t.pu() t.seth(90) t.fd(30) t.seth(0) t.fd(237) t.pd() t.seth(-20) t.circle(-300,15) t.pu() t.seth(90) t.fd(20) t.seth(0) t.fd(0) t.pd() t.seth(-170) t.circle(20,90)def foot(x,y):#腳 t.pensize(10) t.color((240,128,128)) t.pu() t.goto(x,y) t.pd() t.seth(-90) t.fd(40) t.seth(-180) t.color("black") t.pensize(15) t.fd(20) t.pensize(10) t.color((240,128,128)) t.pu() t.seth(90) t.fd(40) t.seth(0) t.fd(90) t.pd() t.seth(-90) t.fd(40) t.seth(-180) t.color("black") t.pensize(15) t.fd(20)def tail(x,y):#尾巴 t.pensize(4) t.color((255,155,192)) t.pu() t.goto(x,y) t.pd() t.seth(0) t.circle(70,20) t.circle(10,330) t.circle(70,30)def setting(): #參數設置 t.pensize(4) t.hideturtle() t.colormode(255) t.color((255,155,192),"pink") t.setup(840,500) t.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) #尾巴 t.done() #結束main()應用程序員的智慧,創造自己的浪漫。請開始你的表演!如需要源碼,請關注微信公眾號: python愛好部落 並留言推薦閱讀:
※python中的漢諾塔遞歸演算法的具體運算過程是怎樣的?
※Python urllib urlretrieve函數解析
※為什麼 Python、Ruby 等語言棄用了自增運算符?
※2. Add Two Numbers
※左手用R右手Python系列8——數據去重與缺失值處理