I\'m trying to make a script which asks a maths equation, then the user has to type in what they think answer is and then python would output the answer
However, for som
The object returned by raw_input()
is a string. You need to convert it to an integer before performing arithmetic with it. You can do this with the int
built-in function.
print "What's 3+7"
a = int(raw_input())
print eval('a +4')
EDIT:
As ShadowRanger observes, using eval
is redundant once a
is an integer, so you can just let Python evaluate the result:
print "What's 3+7"
a = int(raw_input())
print(a + 4)
This is not only easier to read, but safer. Using eval
on input received from a user is dangerous and should be avoided. A malicious user could enter something that, when evaluated, could cause data loss, or use up your computer's resources.
try this
print "What's 3+7"
a = 5 # system store input as '5'
print eval(a +' + 4') # now final string will be '4 + 5'
Few recommendation: