繁体   English   中英

限制input()函数上的字符数

[英]Limit the number of characters on input() function

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

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

从来没有问题,但是现在我必须读取一行,最多包含10 ^ 6个整数,并且其中一个在[0,10 ^ 6]范围内。

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

input()。split()行上的运行时错误

我的问题是:是否有一种通用的方法来读取部分输入并将部分输入保留在stdin或以某种方式将我的input()限制为空格?

在Python3文档上或在StackOverflow上搜索时,我什么都没找到!

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

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

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

断言永远不会触发。

注意:请注意,指定大小时可能会切掉一些整数。 例如,如果对输入12 3456进行read(4) ,则实际上它是3456时,第二个数字可能为3

也要注意性能问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM