99瓶啤酒

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瓶啤酒的一个版本,也可以通过命令行让其输出任意瓶啤酒。

另见编辑

参考资料编辑

  1. ^ 尼贝格, 蒂姆. 99瓶啤酒在墙上:完整歌词. Andrews McMeel Publishing. 2006: 112. ISBN 978-0-7407-6074-7. 
  2. ^ Baird, Kevin C. Ruby by example: concepts and code. No Starch Press. 2007: 25. ISBN 978-1-59327-148-0. 
  3. ^ Infinite Bottles of Beer: Mathematical Concepts with Epsilon Pain, Or: A Cantorial Approach to Cantorian Arithmetic and Other Mathematical Melodies (PDF). [2018-03-23]. (原始内容存档 (PDF)于2016-09-09).