①:輸入一行數(shù)據(jù)并輸
出兩種方法
# 輸入一行數(shù)據(jù)并輸出
import sys
# 方法一:
str1 = input()
print('input 輸入:',str1,'len=',len(str1))
print('循環(huán)遍歷輸入得到輸入的每個字符的ascii碼如下:')
for i in str1:
print(ord(i))
# 方法二:
str2 = sys.stdin.readline()
print('sys.stdin().readline() 輸入:',str2,'len=',len(str2))
print('循環(huán)遍歷輸入得到輸入的每個字符的ascii碼如下:')
for i in str2:
print(ord(i))
print('換行的ascii碼是',ord('\n'))
測試代碼結(jié)果:
輸入一行數(shù)據(jù)并輸出
下面的代碼也可以說明sys.stdin.readline和input 兩者的區(qū)別
import sys
c = [x for x in sys.stdin.readline()]
print(c)
d = [x for x in input()]
print(d)
image.png
①結(jié)論
如果上面代碼想要固定輸入數(shù)字 只需將input() 和sys.stdin.readline() 加上int()的限制
可知上面兩種方式的輸入夺颤,sys.stdin.readline()方法會獲取每行數(shù)據(jù)的最后的換行符
②:輸入一行數(shù)據(jù) 以空格分隔 返回list
print('input 輸入:')
list1 = [x for x in input().split()]
print(list1)
print('sys.stdin.readline() 輸入:')
import sys
list2 = [x for x in sys.stdin.readline().split()]
print(list2)
結(jié)果
輸入一行數(shù)據(jù) 以空格分隔 返回list
②:指定行數(shù) 輸入多行數(shù)據(jù) 返回二維list
print('請輸入數(shù)據(jù)的行數(shù)N:')
N = int(input())
print('N=',N)
print('input 輸入:')
list1 = [[x for x in input().split()] for y in range(N)]
print(list1)
print('sys.stdin.readline() 輸入:')
import sys
list2 = [[x for x in sys.stdin.readline().split()] for y in range(N)]
print(list2)
image.png
下面的代碼是輸出list里面的數(shù)據(jù)是整數(shù)
print('請輸入數(shù)據(jù)的行數(shù)N:')
N = int(input())
print('N=',N)
print('input 輸入:')
list1 = [[int(x) for x in input().split()] for y in range(N)]
print(list1)
print('sys.stdin.readline() 輸入:')
import sys
list2 = [[int(x) for x in sys.stdin.readline().split()] for y in range(N)]
print(list2)
image.png
③:不指定行數(shù) 輸入多行數(shù)據(jù) 返回二維list
不指定輸入的行數(shù)橙弱,但是必須以最后下一行只輸入空格或者什么都不輸入為結(jié)束
import sys
try:
ssn = []
while True:
sn = sys.stdin.readline().strip()
#若是多輸入驯镊,strip()默認(rèn)是以空格分隔,返回一個包含多個字符串的list叽赊。
if sn == '':
break
sn = list(sn.split())
ssn.append(sn)
print(ssn)
except:
pass
結(jié)果:
image.png
import sys
try:
ssn = []
while True:
sn = input().strip()
# sn = sys.stdin.readline().strip()
#若是多輸入,strip()默認(rèn)是以空格分隔必搞,返回一個包含多個字符串的list必指。
if sn == '':
break
sn = list(sn.split())
ssn.append(sn)
print(ssn)
except:
pass
結(jié)果:
image.png
④:不指定行數(shù) 但是每輸入一行就處理一行 持續(xù)等待輸入
import sys
try:
while True:
sn = input().strip()
# sn = sys.stdin.readline().strip()
#若是多輸入,strip()默認(rèn)是以空格分隔恕洲,返回一個包含多個字符串的list塔橡。
if sn == '':
break
sn = list(sn.split())
print('此行輸入為:',sn)
except:
pass
結(jié)果:
image.png