This is almost certainly a Python 2.x versus Python 3.x difference.
In Python 2.x, 'input()' was a rather dangerous function, and 'raw_input()' was the safe version, that always returned a string.
In Python 3.x, they dropped the dangerous version, and renamed the safe version to 'input()'.
If you are only fetching numbers, try these:
In Python 2.x: g = int(raw_input("Enter a number: "))
In Python 3.x: g = int(input("Enter a number: "))
These may raise exceptions if the data entered is not a number.
Avoid using 'input()' on Python 2.x, and equivalently 'eval()' on either version, until you fully understand how they can be used by others to run arbitrary code, or can do damage if the wrong information is typed in. You probably will never need them.