作者簡介:一名云計算人員、每天分享Python和云計算的學(xué)習(xí)經(jīng)驗、和學(xué)習(xí)筆記。?
?座右銘:低頭趕路,敬事如儀
個人主頁:網(wǎng)絡(luò)豆的主頁??????
目錄
?前言
一.python 做圣誕樹
1.turtle庫
2.python函數(shù)的定義規(guī)則
2.引入庫
3.定義畫彩燈函數(shù)
?4.定義畫圣誕樹的函數(shù)
?5.定義樹下面小裝飾的函數(shù)
6.定義一個畫雪花的函數(shù)?
?7.畫五角星
?8.寫文字
9.全部源代碼
?前言
本章將會講解Python編程 實現(xiàn)圣誕樹效果!
一.python 做圣誕樹
1.turtle庫
turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,想象一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據(jù)一組函數(shù)指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形。文章來源:http://www.zghlxwxcb.cn/news/detail-776985.html
2.python函數(shù)的定義規(guī)則
- (1)以 def 開頭,后接定義函數(shù)的名稱和圓括號(),以冒號結(jié)尾
- (2)圓括號()可為空,也可以傳入?yún)?shù)
- (3)定義函數(shù)的內(nèi)容,與def有縮進關(guān)系
- (4)調(diào)用自定義的函數(shù)的基本格式為:定義函數(shù)的名稱();若圓括號()為空,調(diào)用時,也為空,若若圓括號()不為空,調(diào)用時需傳入?yún)?shù)
- (5)return [表達式] 結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方。不帶表達式的return相當(dāng)于返回 None。
3.引入庫
import turtle as t
from turtle import *
import random as r
import time
4.定義畫彩燈函數(shù)
#定義畫彩燈的函數(shù)
def drawlight():
if r.randint(0,30) == 0: #randint用來生成隨機數(shù)
color('tomato') #顏色()
circle(6) #根據(jù)半徑radius繪制extent角度的弧形
elif r.randint(0,30) == 1:
color('orange') #顏色()
circle(3)
else:
linewidth = 5 #線型
color('dark green') #顏色
?5.定義畫圣誕樹的函數(shù)
#定義畫圣誕樹的函數(shù)
def tree(d,s): #定義函數(shù) 樹
if d <= 0: return #返回函數(shù)的返回值
forward(s) #向前
tree(d-1, s * .8)
right(120) #方向 向右
tree(d-3, s * .5)
drawlight()
right(120)
tree(d-3, s * .5)
right(120)
backward(s) #向后
?6.定義樹下面小裝飾的函數(shù)
#定義樹下面小裝飾的函數(shù)
def xzs():
for i in range(200): #范圍
a = 200-400* r.random() # random模塊用于生成隨機數(shù)
b = 10 -20* r.random()
up()
forward(b) #向前
left(90) #左邊
forward(a)
down() #向下
if r.randint(0,1) == 0:
color('tomato')
else:
color('wheat')
circle(2) #圓
up()
backward(a)
right(90)
backward(b)
7.定義一個畫雪花的函數(shù)?
#定義一個畫雪花的函數(shù)
def drawsnow():
t.hideturtle() #這個方法是用來使Turtle隱身的。
t.pensize(2) #pensize(數(shù)字)可以設(shè)置畫筆的寬度
for i in range(200):
t.pencolor("white")
t.penup()
t.setx(r.randint(-350,350)) #將當(dāng)前x軸移動到指定位置
t.sety(r.randint(-100,350)) #將當(dāng)前y軸移動到指定位置
t.pendown() #放下畫筆
dens = 6
snowsize = r.randint(1,10) #生成隨機數(shù)
for j in range(dens):
t.forward(int(snowsize))
t.backward(int(snowsize))
t.right(int(360/dens))
?8.畫五角星
#畫五角星
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)
?9.寫文字
#寫文字
t.color("dark red", "red")
t.write("Merry Christmas", align="center", font=("Comic Sans MS", 40, "bold"))
#寫 "Merry Christmas" 使成一條直線 居中 字體 似手寫的字體 40 粗體
10.全部源代碼
import turtle as t
from turtle import *
import random as r
import time
#定義幾個函數(shù)先
#定義畫彩燈的函數(shù)
def drawlight():
if r.randint(0,30) == 0:
color('tomato')
circle(6)
elif r.randint(0,30) == 1:
color('orange')
circle(3)
else:
linewidth = 5
color('dark green')
#定義畫圣誕樹的函數(shù)
def tree(d,s):
if d <= 0: return
forward(s)
tree(d-1, s * .8)
right(120)
tree(d-3, s * .5)
drawlight()
right(120)
tree(d-3, s * .5)
right(120)
backward(s)
#定義樹下面小裝飾的函數(shù)
def xzs():
for i in range(200):
a = 200-400* r.random()
b = 10 -20* r.random()
up()
forward(b)
left(90)
forward(a)
down()
if r.randint(0,1) == 0:
color('tomato')
else:
color('wheat')
circle(2)
up()
backward(a)
right(90)
backward(b)
#定義一個畫雪花的函數(shù)
def drawsnow():
t.hideturtle()
t.pensize(2)
for i in range(200):
t.pencolor("white")
t.penup()
t.setx(r.randint(-350,350))
t.sety(r.randint(-100,350))
t.pendown()
dens = 6
snowsize = r.randint(1,10)
for j in range(dens):
t.forward(int(snowsize))
t.backward(int(snowsize))
t.right(int(360/dens))
n=100.0
t.pensize(10)
speed("fastest")
t.screensize(800,600, "black")
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)
#調(diào)用畫樹的函數(shù)
tree(15 , n)
backward(n/2)
xzs()
#寫文字
t.color("dark red", "red")
t.write("Merry Christmas", align="center", font=("Comic Sans MS", 40, "bold"))
# 調(diào)用雪花函數(shù)
drawsnow()
t.done() #收筆
創(chuàng)作不易,求關(guān)注,點贊,收藏,謝謝~?文章來源地址http://www.zghlxwxcb.cn/news/detail-776985.html
到了這里,關(guān)于Python編程 圣誕樹教程 (附代碼)程序員的浪漫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!