python绘制雪景图

yipeiwu_com6年前Python基础

本文实例为大家分享了python绘制雪景图的具体代码,供大家参考,具体内容如下

绘制雪景图,应用到turtle和random。

from turtle import *
from random import *
# 绘制随机雪花
def DrawSnow(snow):
 x = randrange(-750, 750)
 y = randrange(-50, 400)
 snowcolor = (randrange(0, 255), randrange(0, 255), randrange(0, 255))
 snowsize = randrange(10, 20)
 snowstyle = choice([30, 45])
 snow.penup()
 snow.setpos(x, y)
 snow.pendown()
 colormode(255)
 snow.pencolor(snowcolor)
 for i in range(int(360/snowstyle)):
 if snowsize < 11:
  snowstyle = 90
 snow.forward(snowsize)
 snow.backward(snowsize)
 snow.right(snowstyle)
#绘制上半部分雪花
def InitSnow(n):
 snow = Turtle()
 for i in range(n):
 DrawSnow(snow)
#绘制下半部分雪地
def InitField():
 field = Turtle()
 colormode(255)
 for i in range(300):
 x = randrange(-850, 850)
 y = randrange(-400, 0)
 width = randrange(50, 200)
 length = randrange(3, 8)
 field.penup()
 field.setpos(x, y)
 field.pendown()
 tempcolor = int(-255 * y/400)
 print(tempcolor)
 fieldcolor = (tempcolor, tempcolor, tempcolor)
 field.color(fieldcolor, fieldcolor)
 field.begin_fill()
 field.fd(width)
 field.circle(length, 180)
 field.fd(width)
 field.circle(length, 180)
 field.end_fill()
 
def main():
 bgcolor("black")
 tracer(False)
 InitField()
 InitSnow(200)
 tracer(True)
 mainloop()
 
if __name__ == '__main__':
 main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现批量检测HTTP服务的状态

Python实现批量检测HTTP服务的状态

用Python实现批量测试一组url的可用性(可以包括HTTP状态、响应时间等)并统计出现不可用情况的次数和频率等。 类似的,这样的脚本可以判断某个服务的可用性,以及在众多的服务提供者中...

Python3的unicode编码转换成中文的问题及解决方案

这篇文章主要介绍了Python3的unicode编码转换成中文的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从别的地...

Python学习教程之常用的内置函数大全

前言 内置函数,一般都是因为使用比较频繁或是元操作,所以通过内置函数的形式提供出来。在Python中,python给我们提供了很多已经定义好的函数,这里列出常用的内置函数,分享出来供大家...

浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器

浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器

1.iterable iterator区别 要了解两者区别,先要了解一下迭代器协议: 迭代器协议是指:对象需要提供__next__()方法,它返回迭代中的元素,在没有更多元素后,抛出St...

Python线程中对join方法的运用的教程

join 方法:阻塞线程 , 直到该线程执行完毕 因此  ,可以对join加一个超时操作 , join([timeout]),超过设置时间,就不再阻塞线程 jion加上还有一个...