Georg Brandl | 856898b | 2010-12-30 22:11:50 +0000 | [diff] [blame^] | 1 | #!/usr/bin/env python3 |
Georg Brandl | 4630c09 | 2009-10-10 21:49:24 +0000 | [diff] [blame] | 2 | |
Georg Brandl | 856898b | 2010-12-30 22:11:50 +0000 | [diff] [blame^] | 3 | """ |
| 4 | A Python version of the classic "bottles of beer on the wall" programming |
| 5 | example. |
| 6 | |
| 7 | By Guido van Rossum, demystified after a version by Fredrik Lundh. |
| 8 | """ |
Georg Brandl | 4630c09 | 2009-10-10 21:49:24 +0000 | [diff] [blame] | 9 | |
Guido van Rossum | b55f9ff | 1998-12-21 18:30:20 +0000 | [diff] [blame] | 10 | import sys |
Georg Brandl | 4630c09 | 2009-10-10 21:49:24 +0000 | [diff] [blame] | 11 | |
Guido van Rossum | b55f9ff | 1998-12-21 18:30:20 +0000 | [diff] [blame] | 12 | n = 100 |
Georg Brandl | 4630c09 | 2009-10-10 21:49:24 +0000 | [diff] [blame] | 13 | if sys.argv[1:]: |
| 14 | n = int(sys.argv[1]) |
| 15 | |
Guido van Rossum | b55f9ff | 1998-12-21 18:30:20 +0000 | [diff] [blame] | 16 | def bottle(n): |
| 17 | if n == 0: return "no more bottles of beer" |
| 18 | if n == 1: return "one bottle of beer" |
| 19 | return str(n) + " bottles of beer" |
Georg Brandl | 4630c09 | 2009-10-10 21:49:24 +0000 | [diff] [blame] | 20 | |
| 21 | for i in range(n, 0, -1): |
| 22 | print(bottle(i), "on the wall,") |
| 23 | print(bottle(i) + ".") |
Collin Winter | 6f2df4d | 2007-07-17 20:59:35 +0000 | [diff] [blame] | 24 | print("Take one down, pass it around,") |
Georg Brandl | 4630c09 | 2009-10-10 21:49:24 +0000 | [diff] [blame] | 25 | print(bottle(i-1), "on the wall.") |