美文网首页
【Python】input()与sys.stdin()使用比较

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

作者: 玉米fight | 来源:发表于2020-04-17 10:45 被阅读0次

python3中,支持输入的有两种方式:input()、sys.stdin(),差别我们从以下几点来看:
1、输入的类型
  ①默认均为str类型

import sys
a=input()
b=sys.stdin.readline()
print (type(a))
print (type(b))  
image.png

②追加split()方法后,变更list类型

import sys
a=input().split()
b=sys.stdin.readline().split()
print(type(a))
print(type(b))
image.png

(补充)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(','))  #根据,分隔
image.png

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()")
image.png

②追加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()") 
image.png

(补充)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()")
image.png

相关文章

网友评论

      本文标题:【Python】input()与sys.stdin()使用比较

      本文链接:https://www.haomeiwen.com/subject/alcevhtx.html