One of the most popular language program, easy to read, easy to write, so many powerful libraries, what more we can ask. Maybe one of the few "problems" is that is not really fast.

Python history starts with Guido van Rossum in Netherlands at the 80's. Python 2.0 was released in 2000, and Python 3.0 in 2008, isn't completely backward-compatible. Now a days Python 3 is most common than the other version.

So many libraries are developed for Python, some of that I think that are really usefull and I use so many times are: Matplotlib, Numppy, Pandas. You can also see my Python programs on GitHub


Quadratic Equation

Here we have a simple code for solving a quadratic equation using only real variables in the code. As we know, the genalizated solution for quadratic equations are described by: $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$ Therefore, is so easy compute the value for any QE.
import numpy as np

print("Write down the coeffients a, b and c as the next form\n ax^2 + bx + x = 0")

a = input("a: ")
b = input("b: ")
c = input("c: ")

a = float(a)
b = float(b)
c = float(c)

if (a == 0.0):
        if (b == 0.0):
                if (c == 0.0):
                        print("You've written a taoutology, 0 = 0")
                else:
                        print("You've written something wrong!")
        else:
                print("You've written a linear equation\n but here you have the answer: ", -b/c)
else:
        d = b*b - 4.0*a*c
        if (d > 0):
                d = np.sqrt(d)
                r1 = (-b + d)/(2.0*a)
                r2 = (-b - d)/(2.0*a)
                print("The two roots are: ")
                print(r1)
                print(r2)
        else:
                d = np.sqrt(-d)
                r3 = -b/(2.0*a)
                r4 = d/(2.0*a)
                print("The two roots are: ")
                print(r3, "+", r4, "i")
                print(r3, "-", r4, "i")