Skip to content

活动

诗歌生成器

中级 | MakeCode, Python | LED显示器, 加速计 | 诗歌, 语法, 随机化

第 1 步:制作

它是什么?

这个诗歌生成器项目生成随机短语,可用于诗歌、密码或开始一个故事。 与朋友们分享特别有诗意或有趣的短语是很不错的。  

这两个视频介绍了你将制作什么以及如何编程:

您将学到

您将学习数组,这种特殊的变量。 数组是将数据像清单一样逐个存储的好用方式。

工作原理

  • 当您晃动BBC micro:bit,会生成一个由形容词、名词、动词和副词构成的随机短语,例如,“beautiful bird eats swiftly”。
  • 您可以自己写短语来开始一首诗,或者与其他由这个程序生成的短语一起,写一整首诗。
  • 这个程序使用四个数组,分别叫做adjectives,(形容词)、nouns,(名词) verbs(动词)和adverbs(副词)。
  • 每个数组各存储一个单词列表。 数组中的每个项目(在这里是单词),被称为这个数组的一个元素。 数组里的元素用索引来进行编号。 举个例子,数组nouns包含三个元素,分别是0号元素bird,1号元素butterfly和2号元素dragonfly。 因为计算机从0开始计数,所以索引从0开始编号。
  • 您晃动micro:bit的时候,每个数组会随机选择一个0到2之间的数字。 这些数字索引对应的元素会显示在micro:bit的LED显示屏上。

所需材料

  • micro:bit或者是MakeCode模拟器
  • MakeCode编辑器
  • 电池盒(选配)

第 2 步:编程

1# Imports go at the top
2from microbit import *
3import random
4
5adjectives = ['beautiful', 
6           'delicate',
7           'bright']
8
9nouns = ['bird', 
10           'butterfly',
11           'dragonfly']
12
13verbs = ['eats', 
14           'flies',
15           'flutters']
16
17adverbs = ['swiftly', 
18           'silently',
19           'skillfully']
20
21while True:
22    if accelerometer.was_gesture('shake'):
23        choice = random.randint(0, len(adjectives)-1)
24        display.scroll(adjectives[choice])        
25        choice = random.randint(0, len(nouns)-1)
26        display.scroll(nouns[choice])
27        choice = random.randint(0, len(verbs)-1)
28        display.scroll(verbs[choice])
29        choice = random.randint(0, len(adverbs)-1)
30        display.scroll(adverbs[choice]) 

第3步:完善

  • 给程序添加更多形容词、名词、动词和副词。
  • 利用其他输入想方法让micro:bit给您的诗生成更多的行,例如为按钮A或按钮B添加代码。
  • 您能写一个程序来生成一首俳句吗?