总结一下刷题时的输入输出 您所在的位置:网站首页 python多行输入输出程序 总结一下刷题时的输入输出

总结一下刷题时的输入输出

2024-07-12 04:49| 来源: 网络整理| 查看: 265

之前做题在leetcode上,所有的题都不需要管输入输出的问题,leetcode会把数据处理好,自己只管算法部分就可以了。直到上次做华为机试题,被狠狠地教育了一番,才意识到自己从没有在意过python的输入输出。谨以此篇几年自己的年轻。老甘龙:蠢!!!目前的总结可能不到位,但会慢慢丰富。python的输入总共有3中形式,分别为input()、sys.stdin.readline()、sys.stdin.readlines(),不管是哪种方法,都可以对任何形式的输入进行处理。前两种一次只能读取一行,后面的可以直接读取多行(感觉用于文件之类的会好很多),3种的返回值均为string类型的。也就是说,即使你输入的数据是int类型的,他也会把得到的数字转化为字符串。这就需要我们自己对数据进行处理得到我们想要的数据基本类型。数据的处理通常依赖于strip()方法和split()方法。strip():去掉字符串首尾的指定字符,默认为换行符和空格。split():以某个字串或者字符拆分已有的字符串,默认情况以空格拆分。

下面的代码在csdn上看到的,自己做了一点点改变。https://blog.csdn.net/K52hz/article/details/105566011

input()1.1 读取一行输入 line = list(map(int, input().strip().split()))1.2 读取多行输入(指定行数) 第一行为给定输入的大小,比如n行数,用n,m接收输入的大小 用list接收下面输入的矩阵

n, m = map(int, input().strip().split()) lit = [] for i in range(n): lis.append(limap(int, input().strip().split()))

1.3 读取多行输入(不指定行数)

lis = [] while True: line = input().strip() if line == '': break lines = list(map(int, line.split())) lis.append(lines)

sys.stdin.readline()需要导入内置模块sys:import sys

2.1 读取一行

line = list(map(int, sys.stdin.readline().strip().split()))

2.2 读取多行

lis = [] while True: line = sys.stdin.readline().strip() if line == '': break lis.append(list(map(int, line.split())))

3.3 一次性读取多行放在一个list中,每一行为list的一个元素(这种没搜到解释,不知道对不对)

lines = sys.stdin.read().splitline()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有