牛客网笔试输入输出的一堆坑。。(Python)
牛客网笔试的时候Python的输入输出是真的很坑,有时候线下自测案例是正常的,线上却怎么都调不过去,这里简单记录一下。
一、常见输入输出的写法
1、input
#直接使用input(),读取回来的是字符串,比如输入为“abds”,n就为“abds”
n = input()
▲需要注意的是input()是一行一行读取的,也就是每次只能读取一行,需要读取第二行的话要再调用一次input()。
当然很多时候我们输入是一个列表,我们可以用以下的方法将其分割为列表。
n_list = list(map(int, input().split(" "))) #int表示里面的值都是整数。
2、sys
可以用sys库来调用信息,但是要注意有时候可能会把换行符也读回来,需要去除。
import sys
for line in sys.stdin:s = line.split(" ")
二、输入中的一些坑
1、确定行数
其实最简单的读取思路,是将读取回来的每一个值保存到一个list中,然后再来调用,但是在实际使用中线下可以跑通,但是线上是怎么都运行不了,也没法打印debug(没有概念的可以去体验一次秋招笔试或者在牛客网上做一下模拟题)。
针对于这个比较坑的地方,需要把运行程序加入以下模板中(原因不知道。。反正跑不通加这个就可以跑通了)。
while 1:try:#your codeexcept:break
如以下例子:
运行失败样例:
运行成功样例:
2、不定行数
可以先用一个list保存下来然后再打印出来。
all_list = []
while 1:try:s_list = list(input().split())all_list.append(s_list)except:break
▲此外有些不定行输入也可能不是输入成多行,可能是输入成一个很长的str,然后中间用空格之列的隔开。由于自测一般给的例子很简单比较坑,所以如果一直报错或者跑不过去可以考虑是否是这个原因。
三、输出中的一些坑
1、一行输出一个值
正常用print()就行,如print(result)
2、一行输出多个值
这个在平时接触的可能比较少,需要在一行打印n个值,然后用空格分割开,这里提供一个方法。
ret = [] #list of result
for i in range(m):if i < m-1:print(ret[i],end=' ')else:print(ret[i])
参考连接:
1、牛客网 多行输入输出问题 Python3 模板样例
牛客网笔试输入输出的一堆坑。。(Python)相关推荐
- 牛客网笔试输入输出总结<记录自己踩的坑>
1.对于那种只需要写一个方法的题目,只要注意方法中参数的类型和返回值类型即可 2.对于需要自己考虑输入和输出的题目,自己主要遇到过以下几种情况,并自己尝试了进行读取 首先不会改变的是以下几段代码 im ...
- 牛客网java_牛客网笔试Java输入输出救命模版
被牛客网笔试输入输出坑过的看过来吧! 系统给你的输入文本是这样的,第一行两个数字是 矩阵的 行数 列数,第二行是矩阵搜索起点的坐标,剩下的行是矩阵里面的内容.如果是两个test case 就是这样的文 ...
- 2021 牛客网笔试总结 01
文章目录 牛客网笔试 关于TCP/IP网络接口层的描述是错误的 TCP与UDP说法错误的 async await描述错误的 不属于Location对象的属性 BFC js错误类型 flex布局 fle ...
- 原串反转 牛客网 程序员面试金典 C++ Python
原串反转 牛客网 程序员面试金典 C++ Python 题目描述 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量). 给定一个string iniS ...
- 空格替换 牛客网 程序员面试金典 C++ Python
空格替换 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个方法,将字符串中的空格全部替换为"%20".假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实 ...
- 集合栈 牛客网 程序员面试金典 C++ Python
集合栈 牛客网 程序员面试金典 C++ Python 题目描述 请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈.该数据结构应支持与普通 ...
- 回文链表 牛客网 程序员面试金典 C++ Python
回文链表 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个函数,检查链表是否为回文. 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文. 测试样例 ...
- 双栈排序 牛客网 程序员面试金典 C++ Python
双栈排序 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中. ...
- 整数转化 牛客网 程序员面试金典 C++ Python
整数转化 牛客网 程序员面试金典 C++ Python 题目描述 编写一个函数,确定需要改变几个位,才能将整数A转变成整数B. 给定两个整数int A,int B.请返回需要改变的数位个数. 测试样例 ...
- 确定字符互异 牛客网 程序员面试金典 C++ Python
确定字符互异 牛客网 程序员面试金典 C++ Python 题目描述 请实现一个算法,确定一个字符串的所有字符是否全都不同.这里我们要求不允许使用额外的存储结构. 给定一个string iniStri ...
最新文章
- 三星教父逝世!李健熙缔造的商业传奇和争议人生
- JAVA学习之路 (三) 运算符
- 多次Jquery引发head.insertBefore( script, head.firstChild );
- 【机器学习基础】机器学习中的特征工程总结!
- 实习技术员的基本功(四)
- 如何在 SAP 电商云 Spartacus UI 里新建一个页面
- YbtOJ#20081-[NOIP2020模拟赛B组Day8]树上排列【组合数,树形dp】
- jQuery动态设置样式List item
- 《计算机组网试验-DNS服务器安装配置 》杭州电子科技大学
- python样本期望值_总体是指数分布,样本均值倒数的期望和方差如何求?
- 四、Raid卡(阵列卡)
- Android P使用pm install安装apk报错
- 《MLB棒球创造营》:走近棒球运动·圣迭戈教士队
- 图像算法原理与实践——图像修复之 全变分模型
- 3d打印驱动开启uart有什么用TMC2208如何在Ramps1.4开启uart
- arduino 感光灯
- 【地球上最欢乐跑步活动】第四届草原马拉松彩跑节▪舞动青春 跑出色彩 千人篝火狂欢大型烟花表演
- 将时分秒的时间转为2020-11-12T20:00:00.000+08:00格式
- 腾讯云ubuntu20.04,免密登录,安装anaconda,并安装远程jupyter notebook,TensorFlow
- 审计需要掌握的计算机语言,审计人员应该具备的素质