限制input()函数的字符数

2024-09-28 21:16:18 发布

您现在位置:Python中文网/ 问答频道 /正文

通常,当我必须在一行上处理多个整数时,我会执行以下操作:

line = input().split()
... work with the integers here ...

这从来不是一个问题,但现在我必须读取一行最多10^6个整数,其中一个是范围[0,10^6]。你知道吗

每次提交解决方案给在线评委时,它都会给我一个运行时错误,并在错误日志上显示:

Runtime Error on the line of the input().split()

我的问题是:有没有一种通用的方法来读取输入的一部分并将其保留在stdin中,或者以某种方式将input()限制为空格?你知道吗

我在Python3文档上或者在StackOverflow上找不到任何关于它的信息!你知道吗

附言:你可以在这里找到问题https://www.urionlinejudge.com.br/judge/en/problems/view/1973


Tags: the方法integersinputhere错误withstdin
1条回答
网友
1楼 · 发布于 2024-09-28 21:16:18

使用sys.stdin.read控制一次读取的字符数:

import sys
a = sys.stdin.read(32)
assert len(a) <= 32

这种断言永远不会成立。你知道吗

注意:请注意,在指定大小时,可能会截断一些整数。例如,如果您对输入12 3456执行read(4),您可能会得到3作为第二个数字,而实际上是3456。你知道吗

还要注意性能问题。你知道吗

相关问题 更多 >