99 Bottles of Beer: Unterschied zwischen den Versionen
Enki (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(5 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 31: | Zeile 31: | ||
} | } | ||
= 99 Bottles in Python = | |||
#!/usr/bin/env python | #!/usr/bin/env python | ||
# 99 bottles of beer in Python by Ricardo Garcia. Public Domain code. | # 99 bottles of beer in Python by Ricardo Garcia. Public Domain code. | ||
# Fully compliant version, pretty indentation, fits in 80x24. | # Fully compliant version, pretty indentation, fits in 80x24. | ||
# small mods by enki (python 2.5, untested) | |||
plural = lambda n: n != 1 | plural = lambda n: "s" if n != 1 else "" | ||
number = lambda n: n == 0 | number = lambda n: "No" if n == 0 else str(n) | ||
next = lambda n: (n - 1) % 100 | next = lambda n: (n - 1) % 100 | ||
pu_line = lambda n: | 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" \ | verses = lambda n: "%s bottle%s of beer on the wall!\n" \ | ||
Zeile 52: | Zeile 53: | ||
number(next(n)), plural(next(n)) ) | number(next(n)), plural(next(n)) ) | ||
print "\n".join( | 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]] |