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 | |
| Creative version | Schizo | 11/06/05 | 16 | |
| Advanced, extensible beer/wall framework | Jamie Turner | 05/17/06 | 7 | |
| functional, w/o variables or procedures | Ivan Tkatchev | 07/14/05 | 2 | |
| Fully compliant version | Ricardo Garcia Gonzalez | 01/15/06 | 7 | |
| using lambda in LISP style | J Adrian Zimmer | 11/14/06 | 2 | |
| minimal version with singular | Emlyn Jones | 06/13/05 | 3 | |
| Using a iterator class | Eric Moritz | 01/20/06 | 2 | |
| New conditional expressions in 2.5 | Ezequiel Pochiero | 12/18/06 | 1 | |
| Exception based | Michael Galpin | 02/08/08 | 0 |
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",""