多行输入输出问题 Python3 模板样例【牛客网】

写在前面

好多人推荐用牛客网进行刷题,发现牛客网和我之前高中的时候AC题目的输入,输出格式竟然有几分相似的呢,都是可能提交了通过0个,嘤嘤嘤,今天整理一下避免以后面试的时候踩坑。

一.单行输入

题目形式比如:
input 每次字符串形式读一行的数据,

a = input().split()
a1 = []
for k in a:
    # a1.append(k)#str
    a1.append(int(k))#int,得到list,推荐用下面那个一句话的

或者

line = list(map(int,input().split(' '))) #直接得到list

只是输入一个数字的情况

n = int(input())#输入只是一个数字

二.多行输入

(一) 首行只有一个数字n

1.行数n已知

'多行输入'
res = []
n = int(input())#行数
for _ in range(n):
    s = input()
    if s!='':
        temp = [j for j in s.split()] #str输入
        # temp = [int(j) for j in s.split()] #int输入
        res.append(temp[0])
    else:
        break
print(res)

注:注意输出要求的差异

①. 每行输出一个(默认)

def F(data):
    return data
 
'多行输入'
res = []
n = int(input())#行数
for _ in range(n):
    s = input()
    if s!='':
        temp = [j for j in s.split()] #str输入
        # temp = [int(j) for j in s.split()] #int输入
        res.append(temp[0])
    else:
        break
 
for i in res:
    print(F(i)) #每行只输出一个
    # print(F(i), end=' ') #全在同一行内输出,用空格隔开

②全在同一行输出,用空格隔开

'多行输入'
res = []
n = int(input())#行数
for _ in range(n):
    s = input()
    if s!='':
        temp = [j for j in s.split()] #str输入
        # temp = [int(j) for j in s.split()] #int输入
        res.append(temp[0])
    else:
        break
 
for i in res:
    # print(F(i)) #每行只输出一个
    print(i, end=' ') #全在同一行内输出,用空格隔开

2.行数n未知

'多行输入,行数未知'
res = []
while True:
    try:
        s = input()
        # res.append(list(map(int, s.split(' '))))
        res.append(list(map(str, s.split(' '))))
    except:
        break

首行有2个数字n,m ——> 往下n行数据对应n, 再m行数据对应m

info = list(map(int,input().split(' ')))
a = []
b = []
for i in range(info[0]):
    a.append(input().split(' '))
for j in range(info[1]):
    b.append(input().split(' '))
print(a)
print(b)

在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和你在一起^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值