⽜客⽹python输⼊模板_【应试】【⾃制】⽜客⽹输⼊机制探
讨及模板
2019年8⽉25⽇14:20:32
在⽜客⽹的笔试上吃了输⼊格式的亏
1.理解机制
刷题⽹站的后台给出的输⼊是⼀个含有多⾏数据的input⽂件
刷题⽹站的后台给出的输⼊是⼀个含有多⾏数据的input⽂件
刷题⽹站的后台给出的输⼊是⼀个含有多⾏数据的input⽂件。
⼀般后台给多个case,⼀个case就是⼀个input⽂件,⼀个input⽂件就⼀个⽰例。验证完这个⽰例,重新启动程序,给下⼀个case。所以,程序只针对⼀个case的输⼊就可以了。【不确定,个⼈理解是这样的,2019年8⽉25⽇15:08:13】
所以对于⽜客⽹,操作就⽤
line = adline()
lines = adlines()
即可,第⼀个读⼀⾏,第⼆个读所有
注意事项第⼀个只读⼀⾏,再⽤第⼆个时⾃动读第⼆⾏
如果⽤第⼆个,在pycharm中调试⽤如下语句
python怎么读取py文件
>>>###
####这⼀块删掉,上交代码时
file = open('')
sys.stdin = file
>>>>
>#标准获取数据代码,就readlines.
# n = adline()也可以⽤,是读⼀⾏,⼀般读第⼀⾏,然后继续⽤readlines()⾃动从第⼆⾏开始读
lines = adlines()
否则只⽤交互的控制台,readlines看不到EOF不会停⽌
注意IDE上run通代码后,上交的代码把
file = open('')
sys.stdin = file
这两⾏去掉
2.模板
这部分个⼈所想,思路是将get输⼊参数和 程序划分开,前⾯的部分要统⼀化
lines = adline()进来的是⼀个str
lines = adlines()进来的是⼀个list,每⼀个元素是str
⽤后者
⽤后者
⽤后者
⼀般进来的就是⼏⾏数,⼏⾏字符,统⼀read进来,然后转换好把输⼊的参量赋给你⾃⼰程序的值,就好了
代码模板:
importsys
>>>###
####这⼀块删掉,上交代码时
file = open('')
sys.stdin = file
>>>>
>#标准获取数据代码,就readlines.
# n = adline()也可以⽤,是读⼀⾏,⼀般读第⼀⾏,然后继续⽤readlines()⾃动从第⼆⾏开始读lines = adlines()
>>>>##
>##这⼀部分是⾃制的代码,INPUT_LINE是⼀个list,每⼀个元素是⼀个list,将输⼊的str化为了int
>#建议直接对INPUT_LINE操作,每⼀个
INPUT_LINE = list()
INPUT_LINE_str = list()
forline inlines:
INPUT_LINE.append([int(te_str) forte_str inline.split()])
INPUT_LINE_str.append([te_str forte_str inline.split()])
>>>>>
<写为
3 3
1 100
10 1000
1000000000 1001
9 10 100000000000
Run完上⾯的代码,
其中INPUT_LINE是数字化的⼆维数组
INPUT_LINE_str是字符化的⼆维数组
实际把设定的参量去匹配就好了,⽐如这题
N = INPUT_LINE [0][0]
M =INPUT_LINE [0][1]
如果字符和数字都有怎么办?
统计line号,混⽤这两个读取就⾏,⽣成⼀个⼆维list,每个元素即有可能是数字,⼜可能是字符就⾏。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论