Number input recognition in python

后端 未结 2 635
北恋
北恋 2021-01-26 05:28

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

2条回答
  •  时光取名叫无心
    2021-01-26 05:47

    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.

提交回复
热议问题