Language Python
(minimal version)
Date: | 04/20/05 |
Author: | Oliver Xymoron |
URL: | n/a |
Comments: | 5 |
Info: | n/a |
Score: | ![]() |
By Oliver Xymoron (133 Bytes) a,t="\n%s bottles of beer on the wall","\nTake one down, pass it around" for d in range(99,0,-1):print(a%d*2)[:-12]+t+a%(d-1 or'No')
Download Source | Write Comment
Alternative Versions
Version | Author | Date | Comments | Rate |
---|---|---|---|---|
This example demonstrates the simplicity | Gerold Penz | 07/23/05 | 15 | ![]() ![]() |
Advanced, extensible beer/wall framework | Jamie Turner | 05/17/06 | 7 | ![]() ![]() |
Creative version | Schizo | 11/06/05 | 16 | ![]() ![]() |
using lambda in LISP style | J Adrian Zimmer | 11/14/06 | 2 | ![]() ![]() |
Exception based | Michael Galpin | 02/08/08 | 0 | ![]() ![]() |
functional, w/o variables or procedures | Ivan Tkatchev | 07/14/05 | 2 | ![]() ![]() |
minimal version with singular | Emlyn Jones | 06/13/05 | 3 | ![]() ![]() |
Fully compliant version | Ricardo Garcia Gonzalez | 01/15/06 | 7 | ![]() ![]() |
Using a iterator class | Eric Moritz | 01/20/06 | 2 | ![]() ![]() |
New conditional expressions in 2.5 | Ezequiel Pochiero | 12/18/06 | 1 | ![]() ![]() |
Download Source | Write Comment
Add Comment
Please provide a value for the fields Name,
Comment and Security Code.
This is a gravatar-friendly website.
E-mail addresses will never be shown.
Enter your e-mail address to use your gravatar.
Please don't post large portions of code here! Use the form to submit new examples or updates instead!
Comments
My only nitpick is that it doesn't handle the singular form of bottles in the two last verses...
a="\n%s bottles of beer on the wall"
for d in range(99,0,-1):print(a%d*2)[:-12]+"\nTake one down, pass it around"+a%(d-1 or'No')
However, I noticed an error:
"1 bottles of beer on the wall
1 bottles of beer" (no "s" for singular!)
Additionally, punctuation and the last whole stanza are missing. So, the (a bit longer but) correct version (which needs t three times):
a="\n%s bottles of beer on the wall,"
t="\nTake one down and pass it around,"
for d in range(99,1,-1):print(a%d*2)[:-13]+"."+t+a[:-1]%(d-1)+"."
z=a%"no more"
print(2*(a%1).replace("s",""