牛客网笔试的时候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. 牛客网笔试输入输出总结<记录自己踩的坑>

    1.对于那种只需要写一个方法的题目,只要注意方法中参数的类型和返回值类型即可 2.对于需要自己考虑输入和输出的题目,自己主要遇到过以下几种情况,并自己尝试了进行读取 首先不会改变的是以下几段代码 im ...

  2. 牛客网java_牛客网笔试Java输入输出救命模版

    被牛客网笔试输入输出坑过的看过来吧! 系统给你的输入文本是这样的,第一行两个数字是 矩阵的 行数 列数,第二行是矩阵搜索起点的坐标,剩下的行是矩阵里面的内容.如果是两个test case 就是这样的文 ...

  3. 2021 牛客网笔试总结 01

    文章目录 牛客网笔试 关于TCP/IP网络接口层的描述是错误的 TCP与UDP说法错误的 async await描述错误的 不属于Location对象的属性 BFC js错误类型 flex布局 fle ...

  4. 原串反转 牛客网 程序员面试金典 C++ Python

    原串反转 牛客网 程序员面试金典 C++ Python 题目描述 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量). 给定一个string iniS ...

  5. 空格替换 牛客网 程序员面试金典 C++ Python

    空格替换 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个方法,将字符串中的空格全部替换为"%20".假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实 ...

  6. 集合栈 牛客网 程序员面试金典 C++ Python

    集合栈 牛客网 程序员面试金典 C++ Python 题目描述 请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈.该数据结构应支持与普通 ...

  7. 回文链表 牛客网 程序员面试金典 C++ Python

    回文链表 牛客网 程序员面试金典  C++ Python 题目描述 请编写一个函数,检查链表是否为回文. 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文. 测试样例 ...

  8. 双栈排序 牛客网 程序员面试金典 C++ Python

    双栈排序 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中. ...

  9. 整数转化 牛客网 程序员面试金典 C++ Python

    整数转化 牛客网 程序员面试金典 C++ Python 题目描述 编写一个函数,确定需要改变几个位,才能将整数A转变成整数B. 给定两个整数int A,int B.请返回需要改变的数位个数. 测试样例 ...

  10. 确定字符互异 牛客网 程序员面试金典 C++ Python

    确定字符互异 牛客网 程序员面试金典 C++ Python 题目描述 请实现一个算法,确定一个字符串的所有字符是否全都不同.这里我们要求不允许使用额外的存储结构. 给定一个string iniStri ...

最新文章

  1. 三星教父逝世!李健熙缔造的商业传奇和争议人生
  2. JAVA学习之路 (三) 运算符
  3. 多次Jquery引发head.insertBefore( script, head.firstChild );
  4. 【机器学习基础】机器学习中的特征工程总结!
  5. 实习技术员的基本功(四)
  6. 如何在 SAP 电商云 Spartacus UI 里新建一个页面
  7. YbtOJ#20081-[NOIP2020模拟赛B组Day8]树上排列【组合数,树形dp】
  8. jQuery动态设置样式List item
  9. 《计算机组网试验-DNS服务器安装配置 》杭州电子科技大学
  10. python样本期望值_总体是指数分布,样本均值倒数的期望和方差如何求?
  11. 四、Raid卡(阵列卡)
  12. Android P使用pm install安装apk报错
  13. 《MLB棒球创造营》:走近棒球运动·圣迭戈教士队
  14. 图像算法原理与实践——图像修复之 全变分模型
  15. 3d打印驱动开启uart有什么用TMC2208如何在Ramps1.4开启uart
  16. arduino 感光灯
  17. 【地球上最欢乐跑步活动】第四届草原马拉松彩跑节▪舞动青春 跑出色彩 千人篝火狂欢大型烟花表演
  18. 将时分秒的时间转为2020-11-12T20:00:00.000+08:00格式
  19. 腾讯云ubuntu20.04,免密登录,安装anaconda,并安装远程jupyter notebook,TensorFlow
  20. 审计需要掌握的计算机语言,审计人员应该具备的素质

热门文章

  1. 数学建模论文常用LaTeX代码(2021美赛)
  2. 银联云闪付控件支付--python版本签名、验签代码
  3. 毕业设计 python图像检索系统设计与实现
  4. paypal java sdk_PayPal-Java SDK /信用卡付款问题
  5. 学术论文投稿与返修(Rebuttal)经验分享
  6. Chrome浏览器 显示 Flash不是最新版
  7. 图片转字符画-----做出酷炫的头像
  8. ATV930变频器转矩控制如何设置?
  9. 10款超牛Vim插件,爱不释手了
  10. 一种辅助整理WoS英文论文题录文档的方法(python-docx)