牛客网OJ系统Python输入输出处理

刚开始在牛客网上做编程题,真的是崩溃,才发现连输入都不太会处理,作为一个整理狂,干啥都想要整理起来。以下是我在做题过程中遇见的几种输入情况以及处理方式,另外,本人超级喜欢用list,对于各种输入都想处理成list格式(持续更新)。

输入的处理

1. 对于一行输入多个的情况

例如:[[1,2],[2,3]],4:
方法一:
L = list(eval(input()))
array = L[0]
target = L[1]
方法二:
target, array = input().split(’,’, 1)
target = int(target)
array = list(eval(array))

方法三:
import sys
a = sys.stdin.readline().strip()
b = sys.stdin.readline().strip()
strip()方法只能用于移除字符串 开头和结尾 指定的字符(默认为空格或换行符)或字符序列。
例如:
str = ’ abcd0e ’
print(str.strip())
输出:abcd0e
print(str.strip(‘0’))
输出: abcde

这里补充下split()的用法:
默认以空格切分,split(’’,1)表示分成两块,例如:
str = “Line1-abcdef \nLine2-abc \nLine4-abcd”;
print str.split( ); # 以空格为分隔符,包含 \n
print str.split(’ ', 1 ); # 以空格为分隔符,分隔成两个
结果:
[‘Line1-abcdef’, ‘Line2-abc’, ‘Line4-abcd’]
[‘Line1-abcdef’, ‘\nLine2-abc \nLine4-abcd’]

2. 对于先输入个数n ,后输入n个数的情况(用循环)

例如:
输入个数4,接着输入4个数
4
2
2
1
3
代码:
n = int(input())
li = []
for i in range(n):
b = int(input())
li.append(b)

另外一种情况:
输入个数4,接着输入4组数

3.对于含有空格的一行数的输入

例如:
输入2 4 5 8 9这样的
代码:
如果仅仅只是input().split()
得到:[‘2’,‘4’,‘5’,‘8’,‘9’]
li = list(map(int,input.split()))
得到:
[2,4,5,8,9]

4.保证list里面的数全为整数

代码:
b=[‘1’,2,‘4’]
b = [int(i) for i in b]
print(b)
结果:
[1,2,4]

输出的处理

1.对于[‘1’,‘2’,‘3’,‘4’]这样的格式要求变成1 2 3 4 5

代码:
a= [‘1’,‘2’,‘3’,‘4’]
print(’ ‘.join(a))
若要求输出格式为1,2,3,4
print(’,’).join(a)

2.对于循环输出多个数,两个数之间用空格隔开

代码:
for i in range(n):
print(xxxx,end=’ ')

  • 10
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值