python中的三种输入方式
python2.X:
python2.x中以下三个函数都支持:
raw_input() input() sys.stdin.readline() raw_input( )将所有输入作为字符串看待,返回字符串类型 input( )只能接收“数字”的输入,返回所输入的数字的类型( int, float ) sys.stdin.readline()将所有输入视为字符串,并在最后包含换行符'\n',可以通过sys.stdin.readline().strip('\n')去掉换行符。 示例 import sys a = input("input a: ") b = raw_input("raw_input b: ") c = sys.stdin.readline() print(a,type(a)) print(b,type(b)) print(c,type(c)) 输出: input a: 12 raw_input b: 23 34 (12, <type 'int'>) ('23', <type 'str'>) ('34\n', <type 'str'>)
python3.x:
python3.x对raw_input( )和input( )进行了整合,去除了raw_input( ),仅保留了input( )函数,接收任意输入,将所有输入默认为字符串处理,并返回字符串类型。
示例 import sys a = input("input a: ") c = sys.stdin.readline() print(a,type(a)) print(b,type(b)) print(c,type(c)) 输出: input a: 12 34 ('12', <type 'str'>) ('34\n', <type 'str'>)
sys.stdin.readline()与input()区别:
sys.stdin.readline( )会将标准输入全部获取,包括末尾的'\n',input()会把‘\n'忽略.
import sys a=sys.stdin.readline() b=input() print(a,b) print(len(a),len(b))
输出:
1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 #sys.stdin.readline()的输出,包含\n,所以有个换行符输出 #换行符 1 2 3 4 5 6 #input()的输出,无换行符 12 11