使用input和raw_input都可以读取控制台的输入,input()只能接受int,float或由它们组成的表达式:
- Python 2.7.5 (default, Mar 19 2014, 07:24:16)
- [GCC 4.5.4] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> input("input something: ")
- input something: 123
- 123
- >>> input("input something: ")
- input something: abc
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- File "<string>", line 1, in <module>
- NameError: name 'abc' is not defined
- >>>
input和 raw_input 在处理数字时是有区别的:
1.输入为纯数字时
input返回的是数值类型,如int,float
raw_inpout返回的是字符串类型,string类型
- print "how old are you?"
- age1 = input()
- print "%r" % age1
- age2 = raw_input()
- print "%r" % age2
返回结果:
- how old are you?
- 22
- 22
- 22
- '22' //raw_input()把输入整形当做字符串处理
2.输入字符串为表达式
input会计算在字符串中的数字表达式,而 raw_input 不会。
- sum = input()
- print "%r" % sum
- sum = raw_input()
- print "%r" % sum
结果:
- 1+2
- 3
- 1+2
- '1+2'