【青少年编程】黄羽恒:漫天飞雪

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。

微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。

编程题

“漫天飞雪”是来自「青少年编程竞赛交流群」中 「黄羽恒」 小朋友的作品。

雪花图案

1. 思路分析

雪花可以看成由6个相同的结构组成,只需要绘制出1个结构,通过循环每次旋转60度,重复绘制就可以得到整个雪花,见snowlake()函数。

我们来说明其中一个结构的绘制,这个结构由两个腰部的分叉forking(),以及一个头部的六边形hexagon()组成。

随机给定起始点,就可以在屏幕上随机绘制雪花了。

2. 程序代码

import turtle
import random

def snowlake(length, pen, startx, starty):
    pen.speed(100)
    pen.up()
    pen.goto(startx, starty)
    pen.down()

def hexagon():
        pen.left(60)
        for i in range(6):
            pen.forward(length / 4)
            pen.right(60)
        pen.right(60)

def forking():
        pen.forward(length / 3)
        pen.left(60)
        pen.forward(length / 4)
        pen.backward(length / 4)
        pen.right(120)
        pen.forward(length / 4)
        pen.backward(length / 4)
        pen.left(60)

pen.color(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
    for i in range(6):
        forking()
        pen.forward(length / 3)
        forking()
        pen.forward(length / 3)
        hexagon()
        pen.backward(length)
        pen.left(60)

turtle.bgcolor('black')
turtle.colormode(255)
p = turtle.Pen()

for i in range(30):
    x = random.randint(-300, 300)
    y = random.randint(-300, 300)
    snowlake(random.randint(10, 30), p, x, y)

turtle.done()

3. 结果展示


基础知识:

一级编程题:

二级编程题:

三级编程题:

小朋友投稿:

Scratch:

Python:

群内答疑:

Scratch:

Python:


(0)

相关推荐

  • Python:python代码编程带你玩转双色球(了解双色球的概率逻辑)

    Python:python代码编程带你玩转双色球(了解双色球的概率逻辑) 输出结果 后期更新-- 代码实现 import random red_totals = [0, 0, 0, 0, 0, 0, ...

  • 谁说不能用中文写代码?

    现代计算机和编程的起源和推动力量主要源自美国,再加上26个字母很便于表示(算上大小写,6位bit就够了),因此英语一直是编程领域的不二之选.但这就给部分非英语国家的编程学习者带来一些困扰.以至于有些人 ...

  • Python 送你一棵圣诞树

    今天是圣诞节,先祝大家圣诞快乐!

  • Python|猜数字游戏

    问题描述猜数字游戏,随机产生一个数字(0~9),然后从键盘输入一个数,如果和随机产生的数相等,打印猜对了,程序结束.如果比随机产生的数大,打印太大了,如果比随机产生的数小,打印太小了.解决方案1.问题 ...

  • 【青少年编程】黄羽恒:加减乘除法小测试

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】黄羽恒:翻译小工具 -- 利用有道翻译

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】黄羽恒:天气预报

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】黄羽恒:Python

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【青少年编程】黄羽恒:平行空间

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  • 【江西】黄锦恒《“交给我吧”读后感》指导老师:孙寅

    <交给我吧>读后感 文清外国语学校一年级 黄锦恒 今天,我读了一本绘本,名字是<交给我吧>.里面的主人公叫小绘,是一个在家里倍受宠爱的小公主.一天放学回家的路上,小绘听到两名男 ...

  • 【青少年编程】【Scratch】10 画笔模块

    10 画笔模块 有关于画笔模块,需要掌握以下两个方面的内容: 能够设置画笔的属性:颜色.粗细.亮度/饱和度/透明度 能够使用画笔绘制各种图案:抬笔.落笔.擦除 1. 使用者可以设置各种画笔属性. 设置 ...

  • 【青少年编程】小猫寻宝

    小猫寻宝 "小猫寻宝"是来自「青少年编程竞赛交流群」中 「马雷越」 小朋友的作品. 制作一款小游戏,使用上.下.左.右键控制角色小猫躲避吸血蝙蝠,到达钥匙位置获得胜利.按要求完成程 ...

  • 【青少年编程】Python的缩进规则

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...