zoukankan      html  css  js  c++  java
  • 圣诞树

    import turtle
    from turtle import *
    import random
    import time
    
    #背景
    turtle.speed("fastest")   # 定义速度
    turtle.screensize(bg="black")  # 北京颜色
    n = 80  # 画笔移动基数
    turtle.pensize(3)  # 画笔宽度
    turtle.setup(900,550)  # 画布大小
    left(90)
    forward(3 * n)
    # 画五角形
    def start():
        color("orange", "yellow")  # 定义最上端星星的颜色,外圈是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)
    # 树叶上加上彩灯
    def deng():
        if random.randint(10,50) == 10:
            color("tomato")
            circle(6)
        elif random.randint(10,50) == 50:
            color("yellow")
            circle(3)
        else:
            color("green")
    # 写上字
    def work():
        color("red")
        write("圣诞快乐",align="center",font=("Comic Sans MS",40,"bold"))
    
    # 添加雪花
    def snow():
        ht()  # 开启隐藏画笔模式
        for i in range(200):
            color("white")   # 设定颜色
            penup()   # 抬起画笔
            x_range = [-350,350]  #设定x 轴 区间
            y_range = [-100,350]  # 设定y轴 区间
            setx(random.randint(x_range[0],x_range[1]))  # 随机设定x 轴
            sety(random.randint(y_range[0],y_range[1])) # 随机设定y轴
            pendown()   # 落笔
            leasize = 6  # 雪花6 片
            szie = random.randint(1,8)   #随机雪花大小
            for n in range(leasize):            # 开始画
                forward(int(szie))
                backward(int(szie))
                right(int(360/leasize))
    
    # 树叶
    def tree_ye(d, s):  # 开始画树
        if d <= 0: return
        forward(s)
        tree_ye(d - 1, s * .8)
        right(120)
        tree_ye(d - 3, s * .5)
        deng()  # 同时调用小彩灯的方法
        right(120)
        tree_ye(d - 3, s * .5)
        right(120)
        backward(s)
    start()
    # 画树
    color('dark green')  # 设置树的画笔颜色为深绿色
    backward(n * 4.8)  # 向后画一条 self.base_num * 4.8的直线
    tree_ye(15,n)
    backward(n / 2)  # 向后画一条 self.base_num / 2的直线
    work()
    snow()
    turtle.done()   #画完窗口不会消失
    View Code
  • 相关阅读:
    Python使用SMTP模块、email模块发送邮件
    harbor搭建及使用
    ELK搭建-windows
    ELK技术栈之-Logstash详解
    【leetcode】1078. Occurrences After Bigram
    【leetcode】1073. Adding Two Negabinary Numbers
    【leetcode】1071. Greatest Common Divisor of Strings
    【leetcode】449. Serialize and Deserialize BST
    【leetcode】1039. Minimum Score Triangulation of Polygon
    【leetcode】486. Predict the Winner
  • 原文地址:https://www.cnblogs.com/huxl1/p/15726686.html
Copyright © 2011-2022 走看看