"99 bottles of beer" ( eng. 99 Bottles of Beer ) er en traditionel sang i USA og Canada . Sangen synges ofte under lange ture, da den har en gentagende og let at huske melodi og kan tage lang tid at synge. Sangen synges især ofte af børn under lange gruppebusture, såsom en udflugt i skoleklassen eller en spejderudflugt . Sangen kommer fra den traditionelle britiske sang " Ten Green Bottles ".
Kupletformatet er skabelon og kan udtrykkes som følger:
Nedtællingen er fra 99 til 1:
<number> flasker øl på væggen
<number> flasker øl!
Tag en, send rundt om
<nummer minus 1> flasker øl på væggen!
I original:
<number> flasker øl på væggen
<number> flasker øl!
Tag en ned, send den rundt om
<antal - 1> flasker øl på væggen!
Således gentages antallet af flasker tre gange (bortset fra tallet 99). Den næstsidste linje i hvert vers ændres nogle gange til "hvis en af flaskerne falder", og det sidste vers har mange variationer.
En af de almindelige muligheder for det sidste vers (som i princippet kan gøre sangen uendelig ved at lukke dens sidste vers med det første) er:
Ingen flasker øl på væggen!
Ingen flasker øl!
Gå i butikken og køb mere (eller Gå i butikken og få mere),
99 flasker øl på væggen!
Sangens tekster bruges til at lære programmører at arbejde med loops [1] [2] [3] .
På grund af de specifikke sprog, der bruges, er implementeringen af et sådant program ikke længere trivielt: i tilfælde af det engelske sprog er det nødvendigt at ændre ordet flaske s i den næstsidste cyklus til flaske . På russisk står en programmør over for behovet for at tage højde for deklinationen af et substantiv: hvis tallet er i området fra 11 til 19, skal du bruge ordet "flasker", ellers hvis resten, når du deler tallet med 10 er 1, skal du bruge ordet "flaske", men hvis resten, når du dividerer tallet med 10, er 2, 3 eller 4, skal du bruge ordet "flasker", ellers bruger vi ordet "flasker" .
def count_bottle ( antal ): rest = antal % 10 hvis resten == 1 og ikke tæller == 11 : returner f ' { tæl } flaske' elif rest >= 2 og rest <= 4 og ikke ( tæl >= 12 og tæl <= 14 ): returnere f ' { tæl } flasker ' andet : returnere f ' { tæl } flasker ' defbase ( ): print ( f ' { count_bottle ( N ) } øl på væggen' ) print ( f ' { count_bottle ( N ) } øl!' ) print ( 'Tag en, løb rundt' ) hvis N == 1 : endelig () andet : print ( f ' { count_bottle ( N - 1 ) } øl på væggen! \n ' ) def finale (): print ( 'Ikke flere ølflasker på væggen! \n ' ) print ( 'Ingen flasker øl på væggen!' ) print ( 'Ingen flasker øl!' ) print ( 'Gå i butikken og køb mere' ) print ( '99 flasker øl på væggen!' ) for N omvendt ( interval ( 1 , 100 )) : base ()99 flasker mælk om bord
99 ombord
tager en og synker
98 tilbage ombord