牛客网的sys.stdin.readlines()和sys.stdin读取方式

平时做题都是做leetcode,现在做牛客网的题很不适应,摸不清输入输出。如下代码:

import sys
for line in sys.stdin.readlines():
    line = line.strip()
    n = len(line)
    index = 0
    while index + 8 <= n:
        print line[index:index+8]
        index += 8
    if n - index > 0:
        print line[index:] + '0'*(index+8-n)

如果你在pycharm中进行调试的话,根本不知道什么时候是个结束。

后面研究发现,从标准输入输出进行读取的话,相当于从一个文件中进行读取。

那么重定向一下文件,发现输出的内容是正确的。

简单来说,其实这个就相当于读取一个文件的内容。把测试用例卸载了一个文件中,然后从文件中进行读取内容。

### 回答1: sys.stdin.readlines() 是一个Python中的方法,用于从标准输入中读取多行输入,并将其以列表形式返回。具体来说,它会一直读取标准输入,直到遇到文件结尾(EOF),然后将读取到的所有行存储到一个列表中并返回。如果标准输入为空,则返回空列表。 ### 回答2: sys.stdin.readlines() 是 Python 中用来读取标准输入的一种方法。它会一次性读取标准输入的所有内容,并将其以列表的形式返回,每一行是列表的一个元素,包括换行符。 通常情况下,我们使用 sys.stdin.readline() 来读取标准输入,这是一行一行地读取,返回的是字符串类型。而 sys.stdin.readlines() 则是一次性读取完整个输入,适合读取文件内容或者需要一次性处理所有输入的场景。 使用时,我们可以像下面这样调用: import sys input_lines = sys.stdin.readlines() 其中,input_lines 是一个列表,包含了所有输入的行。这个列表的长度就是输入的行数。 有一些注意点: 1. 读取完输入之后,我们需要手动去掉每一行的换行符,可以使用 for 循环来遍历列表,使用 strip() 方法去掉换行符。 2. 在使用 sys.stdin.readlines() 前,我们需要判断标准输入是否已经结束。可以使用文件终止符 EOF 来判断,如果输入已经结束,那么 readlines() 方法会返回空列表。 总之,sys.stdin.readlines() 是一种强大的读取标准输入的方法,可以一次性读取所有输入内容,适合处理文件内容或者需要全部输入才能处理的场景。 ### 回答3: sys.stdin.readlines()是Python中的一个读取标准输入的常用方法。它会读取标准输入的所有行,并将其返回为一个包含所有行的列表。 stdin指标准输入流。在命令行中,通常使用键盘输入一些数据,这些数据传递到程序中时,就是通过stdin输入流来传递的。如果我们没有对stdin指定任何输入数据,那么它会一直等待输入,直到我们输入一些数据为止。 readlines()是一个常见的文件读取方法,可以帮助我们逐行读取一个文件的内容。然而,当用它读取标准输入流时,它会读取所有的标准输入,而不只是当前行。 因此,当我们在命令行中使用输入时,可以使用readlines()方法来读取用户输入的所有行。我们可以将这些行组成一个列表,以便在程序中进一步处理和操作。读取完成后,我们可以使用sys.stdout方法将列表中的内容输出到屏幕上。 总之,sys.stdin.readlines()是Python中一个方便的方法,用于从标准输入中读取所有数据,并将其返回为一个列表。它在需要从用户获取任意多行输入时非常有用,比如编写交互式程序或读取大量数据的脚本。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值