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
  • 相关阅读:
    Git中清除远程仓库HTTPS认证信息的方法
    JDK8新增时间类型用在JPA中的问题
    5 个关于 API 中日期和时间设计规则
    时间标准基础知识UTC和ISO8601
    JDK8中的时间API
    2019第7周日
    顶级思维模式:推导事物的第一性原理
    JS的jsoneditor,用来操作Json格式的界面;json-editor用来根据json数据生成界面
    Java读写文件,中文乱码解决
    intellij idea 热部署、热加载设置方法
  • 原文地址:https://www.cnblogs.com/huxl1/p/15726686.html
Copyright © 2011-2022 走看看