python3中,支持输入的有两种方式:input()、sys.stdin(),差别我们从以下几点来看:
1、输入的类型
①默认均为str类型
import sys a=input() b=sys.stdin.readline() print (type(a)) print (type(b))
②追加split()方法后,变更list类型
import sys a=input().split() b=sys.stdin.readline().split() print(type(a)) print(type(b))
(补充)split()方法作用:拆分字符串后转成list类型
a="a b c" b="a b c" c="a,b,c,d; e" print(a.split()) #默认单个/多个空格分隔 print(b.split(" ")) #单个空格分隔 print(c.split(',')) #根据,分隔
2、输出的结果
①input()输出所有(包含空格),sys.stdin()输出所有(包含空格,最后会多1个‘/n’换行符)
import sys nums=sys.stdin.readline() a=input() for i in range(len(a)): print (a[i]) print ("input()") for j in range(len(nums)): print (nums[j]) print("sys.stdin()")
②追加strip()后,打印结果过滤末行换行符
import sys nums=sys.stdin.readline().strip() a=input().strip() for i in range(len(a)): print (a[i]) print ("input()") for j in range(len(nums)): print (nums[j]) print("sys.stdin()")
(补充)strip()方法作用:移除字符串头尾指定的字符
③追加split(),根据空格切割输出
import sys nums=sys.stdin.readline().strip().split() a=input().strip().split() for i in range(len(a)): print (a[i]) print ("input()") for j in range(len(nums)): print (nums[j]) print("sys.stdin()")