Thread 99 bottles of beer (7 answers)
Opened by vayu at 2007-07-16 10:16

sid burn
 2007-07-16 14:06
#23972 #23972
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Während das Perl beispiel mal wieder total unlesbar ist, besticht die Python Variante mit absoluter Lesbarkeit: (Das ganze muss glaube ich auf einer Zeile stehen damit es Funktioniert)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
print ''.join('%(pre)s%(num)s %(bot)s on the wall, %(nul)s %(bot)s,\n%(tak)s\n' % (lambda c,b:
{'pre':['','%s %s on the wall.\n\n' % (c,b)][abs(cmp(c,'Ninety-nine'))],
'num':c, 'nul':c.lower(), 'bot':b,
'tak':['Go to the store and buy some more... Ninety-nine %s.' % b,'Take one down, pass it
around,'][abs(cmp(x,0))]
})((lambda x,o: [(['Twenty','Thirty','Forty','Fifty',
'Sixty','Seventy','Eighty','Ninety'][x/10-2]+'-'+o.lower()).replace('-no more',''),
o][int(x<20)])(x, ['No more','One','Two',
'Three','Four','Five','Six','Seven','Eight',
'Nine','Ten','Eleven','Twelve','Thirteen','Fourteen',
'Fifteen','Sixteen','Seventeen','Eighteen','Nineteen'][[x,x%10][int(x>=20)]]),'bottle%s of beer' %
['','s'][abs(cmp(x,1))])
for x in xrange(99,-1,-1))


Da sollte Perl sich mal etwas abkucken! ;)


Ansonsten ist auch soetwas hier Lustig:
http://www.roesler-ac.de/wolfram/hello.htm
http://www.kernelthread.com/hanoi/\n\n

<!--EDIT|sid burn|1184580889-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread 99 bottles of beer