当我给女同学用python画了个圣诞树后……
Posted 秋名山码民
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当我给女同学用python画了个圣诞树后……相关的知识,希望对你有一定的参考价值。
前言
嗨,彦祖们,不会过圣诞了还是一个人吧?今天我们来讲一下如何用python来画一个圣诞树,学会就快给那个她发过去吧,我的朋友圈已经让圣诞树刷屏了!这不就来给各位彦祖们教了,看完记得给个三连哦!
当然都是好看的,但是码神莫,就是要搞点不一样的用,python来画一个!或者搞个前端来画!
开始教学
这次我们用的是python中的turtle(海龟)库,是python中的一个内置库不需要额外安装
- 创建窗口
- 设置画笔
- 绘制图形
创建
setup()函数,其中的参数为width,height,startx=None,starty=None,分别表示窗口宽,高,及,窗口在电脑屏幕上的横坐标和纵坐标。
turtle.setup(800,600)
设置画笔
三个属性函数
pensize(<width>) #粗细
speed(speed) #运动速度
color(color) #设置画笔颜色
绘制图像
这就要提到海龟的坐标体系了,以窗口中心为原点,以右为正方向,上方为y轴正方向。
移动
- forward(distance) #向前移动
- backward(distance) #向后移动
- 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) #进程推迟时间
最后
本文纯属标题党,如有雷同,必然不是码神,哈哈哈
以上是关于当我给女同学用python画了个圣诞树后……的主要内容,如果未能解决你的问题,请参考以下文章