该死的牛客网输入。

Python各种输入的方法。

例一

  
输入:

1
2
4
7 15 9 5

可以看到 第一行的输入的数是第二行输入数字的个数。

1
2
3
4
import sys
line = sys.stdin.readline()
n = int(line) #读进来的都是str类型,需要转换成int类型
nums = [int(t) for t in sys.stdin.readline().split()]

在这里我们主要看一下第4行代码

1
2
3
4
5
6
7
8
nums = [int(t) for t in sys.stdin.readline().split()]
#这一行的输出是[7,15,9,5]
#我们现在把他拆解一下,如果写成这样
nums = sys.stdin.readline().split()
#现在这一行的输出变成了['7','15','9','5'],和之前的区别是现在list里每一个元素都是一个字符。
#如果再改成这样
nums = sys.stdin.readline()
#现在的输出就变成了7 15 9 5,注意这是一个str,比如nums[3],就会输出5,当然5也是一个字符。

例二

输入:

1
2
3
4
5
4 4
3332
3233
3332
2323

可以看到第一行的第一个4控制接下来输入的行数,第一行的第二个4控制接下来每一行的输入的元素。

1
2
3
4
5
6
7
import sys
m, n = [int(x) for x in sys.stdin.readline().split()]
nums = [[int(x) for x in sys.stdin.readline().strip()] for i in range(m)]
#重点看一下第3行的代码,相当于用了2层for循环
#外循环是运行m次int(x) for x in sys.stdin.readline().strip(),内循环是将每一行输入进来的str转换成int类型
#这一行将来的输出是一个二维数组
[[3, 3, 3, 2], [3, 2, 3, 3],[3, 3, 3, 2],[2, 3, 2, 3]]

目前还没看到别的不同的例子,如果今后碰到再补充。

-------------本文结束感谢您的阅读-------------

本文标题:该死的牛客网输入。

文章作者:pspxiaochen

发布时间:2018年06月25日 - 21:06

原始链接:https://pspxiaochen.club/code_input/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

如果对你有帮助,方便的话麻烦给我的午饭加一颗卤蛋