【Python】input()与sys.stdin()使用比较

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

猜你喜欢

转载自www.cnblogs.com/fightccc/p/12710502.html