牛客网输入输出问题汇总

今天突然想起来去牛客网刷题,结果发现第一步拦住自己的不是题目逻辑,而是数据的输入输出,小菜鸡于是整理并实践了常用的输入输出格式汇总。

1.单行输入

import sys
try:
    n, m, o = map(int, sys.stdin.readline().strip().split('~'))
    print(n, m, o)
except:
    print("您输入的数据有误!请输入三个整数并以'~'分开")

输入输出如下图:


单行输入

2.多行输入: 先获取第一行,再把剩余行合在一个列表中

适用于第一行告诉接下来有几行或者可以根据第一行得知接下来其他信息个数等情况。

#如:第一行输入a,接下来输入a行数据结束输入(第一行一个输入a),append会把每一行输入作为一个列表,再作为原列表的元素
import sys 
a = int(input())
list=[]
for i in range(a):
    list.append([int(i) for i in input().split()])
print(list)
#如:第一行输入b,接下来输入b行数据结束输入(第一行多个输入b,c),extend会把后续行输入扩充至原列表
import sys 
b, c = [int(i) for i in input().split()]
list = []
for i in range(b):
    list.extend([int(i) for i in input().split()])
print(list)
牛客网输入输出问题汇总_第1张图片
append

牛客网输入输出问题汇总_第2张图片
extend

3.多行输入:把所有行合在一个列表中

import sys
#持续交互输入多行数据,按ctrl+d退出输入
list = []  
list_new = [] 
for line in sys.stdin:      
     list_new = line.split()
     list.append(list_new) 
     print(list)

4.多行输入:行数固定且第一行给出(int类型),各行独立获取(list类型)

import sys 
#持续交互输入多行数据,按ctrl+d退出输入
lines = sys.stdin.readlines()
n = int(lines[0])
x1 = list(map(int, lines[1].split()))
x2 = list(map(int, lines[2].split()))
x3 = list(map(int, lines[3].split()))
print(n,x1,x2,x3)

5.常用字符串、列表操作

字符串
.strip() 去除首位空格
.split()  以空格分割
.strip().strip(‘-a’)去除首位空格和字符‘-a’
.replace(‘a’,’b’) 替换字符
S[:3]、S[5:] 、S[5:7](前3、第5之后、5到7)拼接字符串,去除某个字符
.index(str,beg,end) 返回开始索引或异常
.find(str,beg,end) 返回开始索引或-1
列表
.remove(具体内容) 
.pop(索引号)    
del a[索引号]

参考:https://blog.csdn.net/qq_21550189/article/details/101112301

你可能感兴趣的:(牛客网输入输出问题汇总)