Description:python3.x版
Date:2020.4.17
Author:zhww
本文档记录一些机试的输入输出常用模板,旨在经验记录,也希望给还不熟悉编程笔试平台的Coders一点帮助,从而在各大公司的笔试招聘中无需烦恼于输入输出。
因为作者目前经验不足,有不对的地方还请大家多多指正,我也会根据代码练习及笔试经验,积极补充完善。
在线笔试须知
常用刷题平台:leetcode、newcoder、acmcode
- 力扣网:提供了输入输出接口,练习中无需考虑用例输入输出;
- 牛客网: 需要包含完整的输入输出,但不需要连续输入(更正:有时需要连续的输出,除了
while 1
,还需要加try...except...
总感觉牛客编程系统对python不够友好,试了几次都不容易通过,或者是耗时太长,so sad); - 赛码网:需要包含完整的输入输出,且需要
while 1
来循环输入;
主要函数
input() Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。
print() 用于打印输出,常用参数sep、end
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
- objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
- sep – 用来间隔多个对象,默认值是一个空格。
- end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
map() 根据提供的函数对指定序列做映射。返回列表或迭代器。
list() 用于将元组或字符串转换为列表。
split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串,返回分割后的字符串列表。
str.split(str="", num=string.count(str))
- str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
- num – 分割次数。默认为 -1, 即分隔所有。
IO模板示例
单输入
输入形式
16
AC
输入模板
# 输入一个数字,int: 16
a = int(input())
# 输入一个字符/字符串,str: AC
c = input()
单行输入
输入形式
2 8 1
ABC CSA
输入模板
# 输入多位数字,直接得到 list[int]:[2,8,1]
line = list(map(int,input().split(' ')))
# 输入一行字符/字符串list[str]:['ABC','CSA']
c = [i for i in input().split()]
# c = input().split()
多行输入
形式
输入:第一行m,n分别代表人数和科目,接下来的是某人n科成绩;
2 3
15 32 23
58 20 69
输入:多行数字序列,每个序列占一行且由N(2<N<=100)个十进制数组成;
3 63 72 72 1
1 52 62 5 1
2 4 7
5 8 9 3 53 12 74
…
输入模板
# 行数已知,list[[int]]:[[15, 32, 23], [58, 20, 69]]
m,n = list(map(int,input().split()))
lines = []
for _ in range(m):
lines.append(list(map(int,