机考处理键盘输入
处理一行键盘输入
对于多元输入n,k,m=map(int,input().split())
方法一:
line=list(map(str,input().split()))#将输入转化成列表,以空格为分隔符
方法二:
L=[] L.append(map(str,input().split()))#将输入存入列表
方法三:将每行输入读取成矩阵的形式
读入一维矩阵arr = input("") #输入一个一维数组,每个数之间使空格隔开num = [int(n) for n in arr.split()] #将输入每个数以空格键隔开做成数组print(num) #打印数组
处理多行(矩阵)键盘输入
读入二维矩阵适用于n*n矩阵
n = int(input()) #输入二维数组的行数和列数m = [[0]*n]*n #初始化二维数组for i in range(n):m[i] = input().split(" ") #输入二维数组,同行数字用空格分隔,不同行则用回车换行#m[i] = list(map(str,input().split(" ")))输入二维数组,同行数字用空格分隔,不同行则用回车换行print(m) #打印二维数组
读入二维矩阵适用于n*任意列矩阵
,缺点是必须要知道有多少行的输入
n=int(input())m=[]for i in range(n):m.append(list(map(int,input().split(" ")))) #m.append(list(map(float,input().split(" "))))print(m)#输入二维数组,同行数字用空格分隔,不同行则用回车换行print(m)#n=6时输出[[1, 2, 2, 2], [1, 2, 2, 2], [1, 2, 2, 2], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
print('请输入数据的行数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 syslist2 = [[int(x) for x in sys.stdin.readline().split()] for y in range(N)]print(list2)
读取多行输入,不知道多少行,但肯定是以换行符结束,输出是一维列表形式
import syss = [];for line in iter(input, ''):s.append(line.replace(',',''))print(s)#输出['1 1 1', '12 3 3 3 3 ', '1 23 1 3 1 ', '123 ', '123 ']
不指定行数 输入多行数据 返回二维list(最实用)
#不指定输入的行数,但是必须以最后下一行只输入空格或者什么都不输入为结束import systry:mx = []while True:m = sys.stdin.readline().strip()#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。if m == '':breakm = list(m.split())mx.append(m)print(mx)except:pass
import systry:mx = []while True:m = input().strip()# m = sys.stdin.readline().strip()#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。if m == '':breakm = list(m.split())mx.append(m)print(mx)except:pass
读取矩阵的行数和列数
print(len(mx)) 读取列print(len(mx[0]))读取行
不指定行数 但是每输入一行就处理一行 持续等待输入:
import systry:ssn = []while True:sn = input().strip()# sn = sys.stdin.readline().strip()#若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。if sn == '':breaksn = list(sn.split())ssn.append(sn)print(ssn)except:pass
如果觉得《Python读取多行键盘输入》对你有帮助,请点赞、收藏,并留下你的观点哦!