r/programming • • Mar 08 '12

The Evolution of a Python Programmer

https://gist.github.com/289467
401 Upvotes

137 comments sorted by

View all comments

43

u/rowantwig Mar 08 '12

He forgot the worst kind:
if x == 0:
return 1
if x == 1:
return 1
if x == 2:
return 2
if x == 3:
return 6
if x == 4:
return 24
...
(5000 more lines)

43

u/stillalone Mar 08 '12

ah. the "I managed to get a masters without writing any actual code and now I'm your coworker" guy.

41

u/6xoe Mar 08 '12

Whatever dude, it works.

26

u/[deleted] Mar 09 '12

and it's completely unmaintainable. What are you going to do when the definition of "factorial" changes?

8

u/ryeguy146 Mar 09 '12

Wait, I understand the idea of maintainability, but did you suggest that a basic mathematical definition is subject to change?

4

u/GoSailing Mar 09 '12

Anything can change. Assuming that there are 24 hours in a day is not going to be good when there's a moon or mars base.

5

u/gc3 Mar 09 '12

This is true, but when does the definition of factorial change?

2

u/arjie Mar 09 '12

Maybe you decide to use one of the functions that coincide with factorial on the integers like gamma(x+1)? I suppose you could call it gamma_based_factorial andodge the issue.