SZU大计实验五3-1编写绘制随机雪花的Python程序,利用turtle模块绘制随机雪花,包括背景颜色、地上白色积雪、空中彩色雪花

该文章已生成可运行项目,

(随机效果之一) 

先画模拟雪花的白色横线,随机长度,随机粗细,以及颜色越向上越浅,然后画随机的雪花

注意这里的画布大小,横线长度粗细范围都可以调,根据画面美观程度而定,我这里写的只是我这一版,雪花大小,数量,形状(边数)等参数同理

import turtle
import random

t = turtle.Turtle()
t.speed(0)
#设置窗口大小及背景颜色
screen = turtle.Screen()
screen.bgcolor("black")
screen.setup(700, 500)

for i in range(random.randint(30,50)):
    # 随机线条的粗细
    t.pensize(random.randint(2, 5))
    x = random.randint(-300, 300)
    y = random.randint(-220, -1)
    # 根据位置设定颜色的深浅
    r=-y /220
    g=-y /220
    b=-y /220
    #  设定画笔颜色
    t.pencolor((r, g, b))
    t.penup()
    t.goto(x, y)
    t.pendown()
    # 随机白色线条的长度
    t.forward(random.randint(20, 100))

t.penup()


def snowflake():
    snowsize=random.randint(10,50)
    denss=[6,8,10,12]
    dens=random.randint(0,3)
    snowx = random.randint(-300, 300)
    snowy = random.randint(1, 200)
    t.goto(snowx,snowy)
    snowr=random.randint(0,255)
    snowg = random.randint(0, 255)
    snowb = random.randint(0, 255)
    t.pencolor((snowr/255.0,snowg/255.0,snowb/255.0))
    t.pendown()
    for j in range(denss[dens]):
        t.forward(snowsize)
        t.backward(snowsize)
        t.right(360/denss[dens])
    t.penup()


for k in range(random.randint(15,30)):
    snowflake()


turtle.done()

讲一下turtle.pencolor()的参数

它的参数有几种类型

1.字符串:可以是颜色的英文名称,比如"red","blue","green","orange","white","black"等。(brown用不了,亲测)

2.RGB元组:应包含三个整数,分别表示红、绿、蓝三原色的取值,范围是0~255。比如(255, 0, 0)表示红色,(0, 255, 0)表示绿色,(0, 0, 255)表示蓝色。但是应注意填进去的值应为rgb值分别除以255,此函数接收的范围在0~1,除非将颜色模式设为255

turtle.colormode(255)

3.十六进制颜色代码:例如"#FF0000"表示红色。其它颜色可以直接搜索,可以换自己喜欢的颜色。

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值