从有限状态机到Python编程入门
1. 算法构建
在解决问题时,我们需要一个清晰明确的算法。以一个随机选取令牌的序列为例,如下表所示:
| 序列位置 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| 新令牌 | R | R | W | R | W | W | W | W | R | W | W | R | R | R |
| 是否为红色 | Y | Y | N | Y | N | N | N | N | Y | N | N | Y | Y | Y |
| 红色数量 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 2 | 3 |
为了实现找出连续三个红色令牌的功能,我们可以使用伪代码来表达算法:
1. 将numRed设置为0
2. 将maxRed设置为3
3. 重复执行以下操作
4. 获取一个令牌
5. 如果其颜色为红色
6. 则numRed = numRed + 1
7. 否则numRed = 0
8. 直到numRed = maxRed
这个伪代码使用了两种常见的高级计算机语言结构:第3 - 8行的 REPEAT...UNTIL 结构和第5 - 7行的 IF...THEN..
超级会员免费看
订阅专栏 解锁全文
25万+

被折叠的 条评论
为什么被折叠?



