A "99 palack sör" ( Eng. 99 Bottles of Beer ) egy hagyományos dal az Egyesült Államokban és Kanadában . A dalt gyakran éneklik hosszú utazások során, mivel van egy ismétlődő és könnyen megjegyezhető dallam, és sokáig tarthat az éneklés. A dalt különösen gyakran éneklik a gyerekek hosszú csoportos buszos utazások során, például egy iskolai osztálykiránduláson vagy egy cserkész kiránduláson . A dal a " Ten Green Bottles " című hagyományos brit dalból származik .
A csatolás formátuma sablon, és a következőképpen fejezhető ki:
A visszaszámlálás 99-től 1-ig tart:
<szám> üveg sör a falon
<szám> üveg sör!
Vegyél egyet, húzz körbe
<szám mínusz 1> üveg sört a falon!
Eredetiben:
<szám> üveg sör a falon
<szám> üveg sör!
Vegyél le egyet, tedd körbe
<szám - 1> üveg sört a falon!
Így a palackok száma háromszor ismétlődik (kivéve a 99-es számot). Az egyes versek utolsó előtti sorát néha „ha az egyik palack leesik”-re változtatják, és az utolsó versnek számos változata van.
Az utolsó versszak egyik gyakori lehetősége (amely elvileg végtelenné teheti a dalt, ha az utolsó versszakot az elsővel zárja):
Nincs üveg sör a falon!
Nincs üveg sör!
Menj el a boltba és vegyél többet (vagy Menj el a boltba és szerezz többet),
99 üveg sör a falon!
A dal szövegét arra használják, hogy megtanítsák a programozókat a ciklusokkal való munkavégzésre [1] [2] [3] .
A használt nyelvek sajátosságai miatt egy ilyen program megvalósítása már nem triviális: az angol nyelv esetében az utolsó előtti ciklusban a bottle s szót palackra kell cserélni . Oroszul a programozónak szembe kell néznie a főnév deklinációjának figyelembevételével: ha a szám 11 és 19 közötti tartományban van, akkor a „palackok” szót kell használnia, ellenkező esetben, ha a maradékot a szám elosztásakor. 10-el az 1, akkor a „palack” szót kell használni, de ha a szám 10-zel való osztásakor a maradék 2, 3 vagy 4, akkor a „palack” szót kell használni, ellenkező esetben a „palack” szót használjuk. .
def count_bottle ( count ): maradék = számlálás % 10 ha a maradék == 1 és nem számít == 11 : vissza f ' { count } palack' elif maradék >= 2 és maradék <= 4 és nem ( számoljon >= 12 és számoljon <= 14 ): return f ' { count } palack' mást : return f ' { count } palack' defbase ( ): print ( f ' { count_bottle ( N ) } sör a falon ' ) print ( f ' { count_bottle ( N ) } sör!' ) print ( 'Vegyél egyet, fuss körbe' ) ha N == 1 : végső () mást : print ( f ' { count_bottle ( N - 1 ) } sör a falra! \n ' ) def final (): print ( 'Nincs több sörösüveg a falon! \n ' ) print ( 'Nincs üveg sör a falon!' ) print ( 'Nincs üveg sör!' ) nyomtatás ( 'Menj el a boltba és vásárolj többet' ) print ( '99 üveg sör a falon!' ) N esetén fordított ( tartomány ( 1 , 100 ) ): alap ()99 palack tej a fedélzeten
99 a fedélzeten
vegyen egyet és
98 mosd el a fedélzeten maradt