欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

教你使用Python畫圣誕樹做浪漫的程序員

 更新時間:2022年12月13日 10:28:50   作者:網(wǎng)絡(luò)豆  
這不是圣誕節(jié)快到了,還不用Python繪制個圣誕樹和煙花讓女朋友開心開心,也算是親手做的,稍稍花了點心思,學(xué)會了趕緊畫給你的那個她吧

1.turtle庫

turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,想象一個小烏龜,在一個橫軸為x、縱軸為y的坐標(biāo)系原點,(0,0)位置開始,它根據(jù)一組函數(shù)指令的控制,在這個平面坐標(biāo)系中移動,從而在它爬行的路徑上繪制了圖形。

2.python函數(shù)的定義規(guī)則

  • 以 def 開頭,后接定義函數(shù)的名稱和圓括號(),以冒號結(jié)尾
  • 圓括號()可為空,也可以傳入?yún)?shù)
  • 定義函數(shù)的內(nèi)容,與def有縮進(jìn)關(guān)系
  • 調(diào)用自定義的函數(shù)的基本格式為:定義函數(shù)的名稱();若圓括號()為空,調(diào)用時,也為空,若若圓括號()不為空,調(diào)用時需傳入?yún)?shù)
  • return [表達(dá)式] 結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方。不帶表達(dá)式的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用來生成隨機(jī)數(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模塊用于生成隨機(jī)數(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)    #生成隨機(jī)數(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()    #收筆

到此這篇關(guān)于教你使用Python畫圣誕樹做浪漫的程序員的文章就介紹到這了,更多相關(guān)Python畫圣誕樹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用socketServer包搭建簡易服務(wù)器過程詳解

    Python使用socketServer包搭建簡易服務(wù)器過程詳解

    這篇文章主要介紹了Python使用socketServer包搭建簡易服務(wù)器過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • python numpy存取文件的方式

    python numpy存取文件的方式

    NumPy提供了多種存取數(shù)組內(nèi)容的文件操作函數(shù)。保存數(shù)組數(shù)據(jù)的文件可以是二進(jìn)制格式或者文本格式。這篇文章主要介紹了python利用numpy存取文件,需要的朋友可以參考下
    2019-09-09
  • pytest使用@pytest.mark.parametrize()實現(xiàn)參數(shù)化的示例代碼

    pytest使用@pytest.mark.parametrize()實現(xiàn)參數(shù)化的示例代碼

    這篇文章主要介紹了pytest使用@pytest.mark.parametrize()實現(xiàn)參數(shù)化,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Python常見MongoDB數(shù)據(jù)庫操作實例總結(jié)

    Python常見MongoDB數(shù)據(jù)庫操作實例總結(jié)

    這篇文章主要介紹了Python常見MongoDB數(shù)據(jù)庫操作,結(jié)合實例形式詳細(xì)總結(jié)了Python針對MongoDB數(shù)據(jù)庫相關(guān)pymongo庫安裝以及MongoDB數(shù)據(jù)庫的增刪改查等相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2018-07-07
  • Python 占位符的使用方法詳解

    Python 占位符的使用方法詳解

    這篇文章主要介紹了Python 占位符的使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • python數(shù)字圖像處理之圖像簡單濾波實現(xiàn)

    python數(shù)字圖像處理之圖像簡單濾波實現(xiàn)

    這篇文章主要為大家介紹了python數(shù)字圖像處理之圖像簡單濾波實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Django中使用MySQL5.5的教程

    Django中使用MySQL5.5的教程

    這篇文章主要介紹了Django中使用MySQL5.5的教程,本文圖文實例詳解的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Python 字符串操作實現(xiàn)代碼(截取/替換/查找/分割)

    Python 字符串操作實現(xiàn)代碼(截取/替換/查找/分割)

    這篇文章主要介紹了Python 字符串截取/替換/查找/分割等實現(xiàn)方法,需要的朋友可以參考下
    2013-06-06
  • Python的運(yùn)算符重載詳解

    Python的運(yùn)算符重載詳解

    這篇文章主要介紹了Python的運(yùn)算符重載詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • 基于Python實現(xiàn)音樂播放器的實現(xiàn)示例代碼

    基于Python實現(xiàn)音樂播放器的實現(xiàn)示例代碼

    這篇文章主要介紹了如何利用Python編寫簡易的音樂播放器,文中的示例代碼講解詳細(xì),具有一的參考價值,需要的小伙伴可以參考一下
    2022-04-04

最新評論