大数跨境
0
0

圣诞树之夜

圣诞树之夜 数据皮皮侠
2019-12-01
2
导读:临近圣诞节,圣诞树是必不可缺的节日象征。本文将教大家如何用Python画出一颗圣诞树。


临近圣诞节,圣诞树是必不可缺的节日象征。但获取圣诞树在现实生活中实为有限,另辟蹊径,大大小小形形色色的圣诞树也可以通过几行代码在屏幕上炫彩夺目,感受不一样的节日氛围——“turtle”引领的数字圣诞树之夜。

首先让我们了解一下几个神奇的库:turtle,random,time

一、Turtle

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

基础知识:


1. 画布(canvas)

画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。


2. 画笔

 2.1 画笔的状态

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

 2.2 画笔的属性

画笔(画笔的属性,颜色、画线的宽度等)

 1) turtle.pensize():设置画笔的宽度;

 2) turtle.pencolor():没有参数传入,返回当前画笔颜色,  传入参数设置画笔颜色,可以是字符串如"green", "red",也 可以是RGB 3元组。

 3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

2.3 绘图命令

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。


(1)    画笔运动命令


(2)     画笔控制命令


(3)    全局控制命令


二、Random

★ random.randint(min,max): 随机生成[min,max]范围内的整数


三、Time

★ Python time sleep():函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间


from turtle import *import randomimport timen = 80.0speed("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)


画图process部分展示:

参考链接:https://blog.csdn.net/qq_43468607/article/details/102228217

提前祝朋友们 Merry Christmas~


本期作者:曲思齐

本期编辑校对:陈颖姝


【声明】内容源于网络
0
0
数据皮皮侠
社科数据综合服务中心,立志服务百千万社科学者
内容 3402
粉丝 0
数据皮皮侠 社科数据综合服务中心,立志服务百千万社科学者
总阅读3.1k
粉丝0
内容3.4k