99瓶啤酒》(99 Bottles of Beer)是一首作者不详的民谣,20世纪中叶起在美国和加拿大流传。歌曲从99瓶啤酒开始倒数,它的歌词重复,很容易就能记住,可以唱很久来打发时间。因此它在长途旅行中很受欢迎,例如班级旅游,或是童子军的活动中。这首歌源于英国儿歌“十个绿色的瓶子英语Ten green bottles”。

歌词

编辑

这首歌的歌词如下:[1][2]

99瓶啤酒在墙上,99瓶啤酒在墙上。拿走一瓶传下去,98瓶啤酒在墙上……

同样的乐句不断重复,每次减少一个瓶子,直到一个也不剩。最后一节、最后一个瓶子之后的部分有不同的唱法:

墙上没有啤酒了,墙上没有啤酒了。再去商店多买些,99瓶啤酒在墙上……

或是:

墙上没有啤酒了,墙上没有啤酒了。我们喝光传完了,现在就要醉倒了!

另一种唱法是:

如果这瓶摔破了,真是浪费酒精呢!

具有数学灵感的变体

编辑

唐纳德伯德(Donald Byrd)收集了许多受数学启发的歌词变体,他认为这些歌词具有教育与娱乐用途[3]。下面枚举几项:

  • “无穷多瓶啤酒在墙上”。如果拿下一瓶,仍有无穷多瓶啤酒在墙上(从而创造一个永无止境的序列,更像"The Song That Never Ends英语The Song That Never Ends")。
    • “阿列夫0数瓶啤酒在墙上”。阿列夫零自然数集的,并且是最小的、唯一一个可数的无穷大;因此,即使偶数编号的啤酒掉下来,其数量为阿列夫零,剩下的还是阿列夫零。
    • “阿列夫1/2/3/...数瓶啤酒在墙上”。阿列夫1/2/3/...数是不可数的无穷集合,它是大于可数无穷集合的;因此,如果只有可数无穷多瓶啤酒掉了下来,啤酒数仍然是不可数的。

Python

编辑

Python的内置库中,有一个示例程序/Tools/demo/beer.py, 运行该程序会在标准输出中得到99瓶啤酒的一个版本,也可以通过命令行让其输出任意瓶啤酒。

另见

编辑

参考资料

编辑