Python 输入输出

输入

Python 2.x

raw_input() 不会计算和返回数字数据的原类型,只会返回字符串;input() 会计算和返回输入后的结果

>>> import sys
>>> sys.version
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win32
>>> data = input("Enter a number: ")
Enter a number: 5 + 17
>>> data, type(data)
(22, <type 'int'>)

可以认为 input() 是 raw_input() 结合 eval() 调用的结合:

>>> data = eval(raw_input("Enter a number: "))
Enter a number: 5 + 17
>>> data, type(data)
(22, <type 'int'>)

Python 3.x

raw_input 已经移除,input() 等同于 2.x 的 raw_input()

如果需要输入数字只能调用比如 int()

x = int(input("Enter a number: "))

参见:http://stackoverflow.com/questions/20449427/how-can-i-read-inputs-as-integers-in-python