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()")