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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM