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魔法方法详解

据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。 他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方...

从零学Python之入门(四)运算

Python的运算符和其他语言类似 (我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍) 数学运算 复制代码 代码如下:>>>print...

Python正则表达式教程之二:捕获篇

前言 在上一篇文中,我们介绍了关于Python正则表达式的基础,那么在这一篇文章里,我们将总结一下正则表达式关于捕获的用法。下面话不多说,来看看详细的介绍吧。  &n...

使用批处理脚本自动生成并上传NuGet包(操作方法)

使用批处理脚本自动生成并上传NuGet包(操作方法)

  Hello 大家好,我是TANZAME,我们又见面了。   NuGet是什么这里就不再重复啰嗦,园子里一搜一大把。今天要跟大家分享的是,在日常开发过程中如何统一管理我们的包,如何通过...

Python中的复制操作及copy模块中的浅拷贝与深拷贝方法

程序中常常需要复制一个对象, 按思路应该是这样的 a = [1, 2, 3] b = a # [1, 2, 3] print b 已经复制好了,但是现在得改变一下第一个元素...