Zum Inhalt springen

99 Bottles of Beer: Unterschied zwischen den Versionen

Clifford (Diskussion | Beiträge)
+ SPL
Vierlex (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 30: Zeile 30:
         "of beer on the wall.\n${i ? "" : "\n"}");
         "of beer on the wall.\n${i ? "" : "\n"}");
  }
  }
= 99 Bottles in Python =
#!/usr/bin/env python
# 99 bottles of beer in Python by Ricardo Garcia. Public Domain code.
# Fully compliant version, pretty indentation, fits in 80x24.
# small mods by enki (python 2.5, untested)
plural = lambda n: "s" if n != 1 else ""
number = lambda n: "No" if n == 0 else str(n)
next = lambda n: (n - 1) % 100
pu_line = lambda n: "Go to the store and buy some more" or \
          "Take one down, pass it around" if n == 0
verses = lambda n: "%s bottle%s of beer on the wall!\n" \
"%s bottle%s of beer!\n" \
"%s\n" \
"%s bottle%s of beer on the wall!\n" % \
( number(n), plural(n),
number(n), plural(n),
pu_line(n),
number(next(n)), plural(next(n)) )
print "\n".join( verses(x) for x in xrange(99, -1, -1) )
= 99 Bottles in Arduino =
int bottles = 99;
void setup() {
  Serial.begin(9600);
}
void loop () {
  if (bottles > 0) {
    printBottles(bottles);
    Serial.print(" of beer on the wall, ");
    printBottles(bottles);
    Serial.print(" of beeeeer . . . , Take one down, pass it around, ");
    bottles--;
    printBottles(bottles);
    Serial.println(" of beer on the wall. ...");
    if (bottles == 0) {
      Serial.println("Time to buy more beer!");
    }
    delay(1000);
  }
}
void printBottles(int nr) {
  if (nr == 0) Serial.print("No more");
  else Serial.print(nr);
  Serial.print("bottle");
  if (nr != 1) Serial.print("s");
}
[[Kategorie:Howto]]