当我给女同学用python画了个圣诞树后……

前言

嗨,彦祖们,不会过圣诞了还是一个人吧?今天我们来讲一下如何用python来画一个圣诞树,学会就快给那个她发过去吧,我的朋友圈已经让圣诞树刷屏了!这不就来给各位彦祖们教了,看完记得给个三连哦!

请添加图片描述请添加图片描述

请添加图片描述
请添加图片描述
当然都是好看的,但是码神莫,就是要搞点不一样的用,python来画一个!或者搞个前端来画!

开始教学

这次我们用的是python中的turtle(海龟)库,是python中的一个内置库不需要额外安装

  1. 创建窗口
  2. 设置画笔
  3. 绘制图形

创建

setup()函数,其中的参数为width,height,startx=None,starty=None,分别表示窗口宽,高,及,窗口在电脑屏幕上的横坐标和纵坐标。

turtle.setup(800,600)

在这里插入图片描述

设置画笔

三个属性函数

pensize(<width>) #粗细
speed(speed) #运动速度
color(color) #设置画笔颜色

绘制图像

这就要提到海龟的坐标体系了,以窗口中心为原点,以右为正方向,上方为y轴正方向。

移动

  1. forward(distance) #向前移动
  2. backward(distance) #向后移动
  3. goto(x,y=None)# 移动到相应的位置

角度控制

和上面的移动大同小异,都是3项控制
4. right(degree)#向右转动
5. left(degree)#向左转动
6. seth(degree)#转动到某个方向

图形绘制,图像填充

这个今天用不到,也就不说了,欢迎爱好的彦祖们,评论区见!

正片开始

from turtle import *
import random #随机,用来搞小圆点
import time

n = 100.0

speed("fastest") #速度快
screensize(bg='seashell')
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)


def tree(d, s):
    if d <= 0: return
    forward(s)
    tree(d - 1, s * .8)
    right(120)
    tree(d - 3, s * .5)
    right(120)
    tree(d - 3, s * .5)
    right(120)
    backward(s)


tree(15, n)
backward(n / 2)

for i in range(200):
    a = 200 - 400 * random.random()
    b = 10 - 20 * random.random()
    up()
    forward(b)
    left(90)
    forward(a)
    down()
    if random.randint(0, 1) == 0:
        color('tomato')
    else:
        color('wheat')
    circle(2)
    up()
    backward(a)
    right(90)
    backward(b)

time.sleep(60) #进程推迟时间

在这里插入图片描述

扫描二维码关注公众号,回复: 14385630 查看本文章

最后

本文纯属标题党,如有雷同,必然不是码神,哈哈哈

猜你喜欢

转载自blog.csdn.net/fwdwqdwq/article/details/125402222