[英]How do you limit the number of input arguments for python's input() function?
[英]Limit the number of characters on input() function
通常,当我必须在一行上处理多个整数时,请执行以下操作:
line = input().split()
... work with the integers here ...
从来没有问题,但是现在我必须读取一行,最多包含10 ^ 6个整数,并且其中一个在[0,10 ^ 6]范围内。
每次提交解决方案给在线法官时,都会给我一个运行时错误,并在错误日志上显示:
我的问题是:是否有一种通用的方法来读取部分输入并将部分输入保留在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.