程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

當我給女同學用python畫了個聖誕樹後……

編輯:Python

前言

嗨,彥祖們,不會過聖誕了還是一個人吧?今天我們來講一下如何用python來畫一個聖誕樹,學會就快給那個她發過去吧,我的朋友圈已經讓聖誕樹刷屏了!這不就來給各位彥祖們教了,看完記得給個三連哦!



當然都是好看的,但是碼神莫,就是要搞點不一樣的用,python來畫一個!或者搞個前端來畫!

開始教學

這次我們用的是python中的turtle(海龜)庫,是python中的一個內置庫不需要額外安裝

  1. 創建窗口
  2. 設置畫筆
  3. 繪制圖形

創建

setup()函數,其中的參數為width,height,startx=None,starty=None,分別表示窗口寬,高,及,窗口在電腦屏幕上的橫坐標和縱坐標。

turtle.setup(800,600)

設置畫筆

三個屬性函數

pensize(<width>) #粗細
speed(speed) #運動速度
color(color) #設置畫筆顏色

繪制圖像

這就要提到海龜的坐標體系了,以窗口中心為原點,以右為正方向,上方為y軸正方向。

移動

  1. forward(distance) #向前移動
  2. backward(distance) #向後移動
  3. goto(x,y=None)# 移動到相應的位置

角度控制

和上面的移動大同小異,都是3項控制
4. right(degree)#向右轉動
5. left(degree)#向左轉動
6. seth(degree)#轉動到某個方向

圖形繪制,圖像填充

這個今天用不到,也就不說了,歡迎愛好的彥祖們,評論區見!

正片開始

from turtle import *
import random #隨機,用來搞小圓點
import time
n = 100.0
speed("fastest") #速度快
screensize(bg='seashell')
left(90)
forward(3 * n)
color("orange", "yellow")
begin_fill()
left(126)
for i in range(5):
forward(n / 5)
right(144)
forward(n / 5)
left(72)
end_fill()
right(126)
color("dark green")
backward(n * 4.8)
def tree(d, s):
if d <= 0: return
forward(s)
tree(d - 1, s * .8)
right(120)
tree(d - 3, s * .5)
right(120)
tree(d - 3, s * .5)
right(120)
backward(s)
tree(15, n)
backward(n / 2)
for i in range(200):
a = 200 - 400 * random.random()
b = 10 - 20 * random.random()
up()
forward(b)
left(90)
forward(a)
down()
if random.randint(0, 1) == 0:
color('tomato')
else:
color('wheat')
circle(2)
up()
backward(a)
right(90)
backward(b)
time.sleep(60) #進程推遲時間

最後

本文純屬標題黨,如有雷同,必然不是碼神,哈哈哈


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved