Skip to content

Comment on The Python IAQ: Infrequently Answered Questionsparent

Comments

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)

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
AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.