Als Beispiel werde ich einen abgenutzten FizzBuzz in Pythonic-Listeneinschlussnotation schreiben. Echter Einzeiler.
def fizzbuzz(N):
"""Implementierung von FizzBuzz in Listeneinschlussnotation
Example:
>>> print fizzbuzz(10)
[1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz']
>>> print fizzbuzz(30)
[1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz', 11, 'Fizz', 13, 14, 'FizzBuzz', 16, 17, 'Fizz', 19, 'Buzz', 'Fizz', 22, 23, 'Fizz', 'Buzz', 26, 'Fizz', 28, 29, 'FizzBuzz']
"""
return [(i%3==0)*'Fizz' + (i%5==0)*'Buzz' or i for i in range(1, N+1)]
Punkt
(i% 3 == 0) * 'Fizz'
bestimmt, ob abhängig von der Wahrheit in Klammern eine Zeichenfolge hinzugefügt werden soll.Recommended Posts