fizzbuzz.py

Ето как бих решил FizzBuzz проблема, в оригиналния му вариант, където дори принтираме, вместо да връщаме речник:

for n in range(1, 101):
    if n % 3 == 0 and n % 5 == 0:
        print ‘FizzBuzz’
    elif n % 3 == 0:
        print ‘Fizz’
    elif n % 5 == 0:
        print ‘Buzz’
    else:
        print n

Просто, нали? Но да мотивирам това решение:

Continue reading

Функционално програмиране

Ако сте посещавали лекции във ФМИ, несъмнено знаете че съществуват и по-екзотични начини за писане на код от Java и C#. Един от тях е функционалното програмиране. Характерно за него са „функции от по-висок ред“ – такива чиито аргументи или връщани стойности също са функции. Един от първите и най-известни езици за функционално програмиране е LISP. Той предлага някои много елегантни решения на доста проблеми, но едва ли ще се сблъскате с него в днешни дни, освен ако не учите във ФМИ или не пишете макроси за emacs. Въпреки, че едва ли някой пише цели приложения на LISP в днешни дни, някои от идеите на функционалното програмирне са съвсем приложими в „модерните“ езици… Continue reading