Hacker News new | ask | show | jobs
by Kilimanjaro 5701 days ago
Sometimes I put short ifs in one line, just personal taste

    def fact(n):
        if n<=1: return 1
        else:    return n * fact(n-1)
2 comments

One of those times when I hugely miss languages with pattern matching/guards.

  fact(1) = 1
  fact(n) = n * fact(n-1)
Seems much more readable to me.
Which I guess can be written like

   def fact(n):
        return 1 if n<=1 else n*fact(n-1)
unfortunately not on python 2.4, which is the version we have on our production servers (2 yr old Linux)
One liner

    def fact(n): return n*fact(n-1) if n>1 else 1