Python读取多行键盘输入

本文链接:https://blog.csdn.net/qq_26884501/article/details/89194211

机考处理键盘输入

处理一行键盘输入

  • 对于多元输入
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 sys
list2 = [[int(x) for x in sys.stdin.readline().split()] for y in range(N)]
print(list2)
  • 读取多行输入,不知道多少行,但肯定是以换行符结束,输出是一维列表形式
import sys
s = [];
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 sys
try:
    mx = []
    while True:
        m = sys.stdin.readline().strip()
        #若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。
        if m == '':
            break
        m = list(m.split())
        mx.append(m)
    print(mx)
except:
    pass
import sys
try:
    mx = []
    while True:
        m = input().strip()
        # m = sys.stdin.readline().strip()
        #若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。
        if m == '':
            break
        m = list(m.split())
        mx.append(m)
    print(mx)
except:
    pass

读取矩阵的行数和列数

print(len(mx)) 读取列
print(len(mx[0]))读取行

不指定行数 但是每输入一行就处理一行 持续等待输入:

import sys
try:
    ssn = []
    while True:
        sn = input().strip()
        # sn = sys.stdin.readline().strip()
        #若是多输入,strip()默认是以空格分隔,返回一个包含多个字符串的list。
        if sn == '':
            break
        sn = list(sn.split())
        ssn.append(sn)
    print(ssn)
except:
    pass
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值