"99 bottles of beer" ( eng. 99 Bottles of Beer ) är en traditionell sång i USA och Kanada . Låten sjungs ofta under långa resor eftersom den har en repetitiv och lätt att komma ihåg låt och kan ta lång tid att sjunga. Sången sjungs särskilt ofta av barn under långa gruppbussturer, som en skolutflykt eller en scoututflykt . Låten kommer från den traditionella brittiska låten " Ten Green Bottles ".
Kuplettformatet är mall och kan uttryckas på följande sätt:
Nedräkningen är från 99 till 1:
<number> flaskor öl på väggen
<number> flaskor öl!
Ta en, skicka runt
<nummer minus 1> ölflaskor på väggen!
I original:
<number> flaskor öl på väggen
<number> flaskor öl!
Ta ner en, skicka den runt
<nummer - 1> flaskor öl på väggen!
Således upprepas antalet flaskor tre gånger (förutom siffran 99). Den näst sista raden i varje vers ändras ibland till "om en av flaskorna faller", och den sista versen har många variationer.
Ett av de vanligaste alternativen för den sista versen (som i princip kan göra låten oändlig genom att avsluta sin sista vers med den första) är:
Inga flaskor öl på väggen!
Inga flaskor öl!
Gå till butiken och köp mer (eller Gå till butiken och få mer),
99 flaskor öl på väggen!
Låtens text används för att lära programmerare hur man arbetar med loopar [1] [2] [3] .
På grund av specifikationerna för de språk som används är implementeringen av ett sådant program inte längre trivialt: i fallet med det engelska språket är det nödvändigt att ändra ordet flaska s i den näst sista cykeln till flaska . På ryska står en programmerare inför behovet av att ta hänsyn till deklinationen av ett substantiv: om numret ligger i intervallet från 11 till 19 måste du använda ordet "flaskor", annars om resten när du delar numret med 10 är 1, du måste använda ordet "flaska", men om resten när du dividerar talet med 10 är 2, 3 eller 4, måste du använda ordet "flaskor", annars använder vi ordet "flaskor" .
def count_bottle ( count ): rest = antal % 10 om återstoden == 1 och inte räknas == 11 : returnera f ' { count } flaska' elif rest >= 2 och rest <= 4 och inte ( count >= 12 and count <= 14 ): returnera f ' { count } flaskor' annat : returnera f ' { count } flaskor' defbase ( ): print ( f ' { count_bottle ( N ) } öl på väggen' ) print ( f ' { count_bottle ( N ) } öl!' ) print ( 'Ta en, spring runt' ) om N == 1 : sista () annat : skriv ut ( f ' { count_bottle ( N - 1 ) } öl på väggen! \n ' ) def final (): print ( 'Inga fler ölflaskor på väggen! \n ' ) print ( 'Inga flaskor öl på väggen!' ) print ( 'Inga flaskor öl!' ) print ( 'Gå till butiken och köp mer' ) print ( '99 flaskor öl på väggen!' ) för N omvänt ( intervall ( 1 , 100 ) ): bas ()99 flaskor mjölk ombord
99 ombord
tar en och sjunker
98 kvar ombord