开发者

教你使用Python画圣诞树做浪漫的程序员

目录
  • 1.turtle库
  • 2.python函数的定义规则
  • 3.引入库
  • 4.定fWnGtkbp义画彩灯函数
  • 5.定义画圣诞树的函数
  • 6.定义树下面小装饰的函数
  • 7.定义一个画雪花的函数
  • 8.画五角星
  • 9.写文字
  • 10.全部源代码

教你使用Python画圣诞树做浪漫的程序员

1.turtle库

turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

2.python函数的定义规则

  • 以 def 开头,后接定义函数的名称和圆括号(),以冒号结尾
  • 圆括号()可为空,也可以传入参数
  • 定义函数的内容,与def有缩进关系
  • 调用自定义的函数的基本格式为:定义函数的名称();若圆括号()为空,调用时,也为空,若若圆括号()不为空,调用时需传入参数
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

3.引入库

import turtle as  t
from turtle import *
import random as r
import  time

4.定义画彩灯函数

#定义画彩灯的函数
def drawlight():
    if r.randint(0,30) == 0:         #randint用来生成随机数
        color('tomato')              #颜色()
        circle(6)                    #根据半径radius绘制extent角度的弧形
    elif r.randint(0,30) == 1:
        color('orange')              #颜色()
        circle(3)
    else:
        linewidth = 5                #线型
        color('dark green')          #颜色

5.定义画圣诞树的函数

#定义画圣诞树的函数
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)          #向后 

6.定义树下面小装饰的函数

#定义树下面小装饰的函数
def  xzs():
    for i in range(200):              #范围
        a = 200-400* r.random()       # 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)   javascript                   #圆
        up()
        backward(a)
        right(90)
        backward(b)

7.定义一个画雪花的函数

#定义一个画雪花的函数
def drawsnow():
    t.hideturtle()                   #这个方法是用来使Turtle隐身的。          
    t.pensize(2)                     #pensize(数字)可以设置画笔的宽度
    for i in range(200):
        t.pencolor("white")
        t.penup()
        t.setx(r.randint(-350,350))   #将当开发者_JAVA学习前x轴移动到指定位置
        t.sety(r.randint(-100,350))   #将当前编程客栈y轴移动到指定位置
        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))

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 tupythonrtle as  t
from turtle import *
import random as r
import  time
#定义几个函数先
#定义画彩灯的函数
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')
#定义画圣诞树的函数
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)
#定义树下面小装饰的函数
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)
#定义一个画雪花的函数
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()
        jsdens = 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)
#调用画树的函数
tree(15 , n)
backward(n/2)
xzs()
#写文字
t.color("dark red", "red")
t.write("Merry Christmas", align="center", font=("Comic Sans MS", 40, "bold"))
# 调用雪花函数
drawsnow()
t.done()    #收笔

到此这篇关于教你使用Python画圣诞树做浪漫的程序员的文章就介绍到这了,更多相关Python画圣诞树内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜