限制input()函数的字符数

时间:2018-05-10 02:53:19

标签: python python-3.x

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

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

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

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

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

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

我在Python3文档上找不到任何内容,或者在StackOverflow上搜索它!

PS:您可以在https://www.urionlinejudge.com.br/judge/en/problems/view/1973

找到问题

1 个答案:

答案 0 :(得分:6)

使用-(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; // Add observer [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(shouldLogout:) name:@"shouldLogout" object:nil]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; // Remove observer by name [[NSNotificationCenter defaultCenter] removeObserver:self name:@"shouldLogout" object:nil]; } 来控制您一次阅读的字符数:

sys.stdin.read

断言永远不会发生。

注意:请注意,在指定尺寸时,您可能会关闭某些整数。例如,如果您对输入import sys a = sys.stdin.read(32) assert len(a) <= 32 read(4) 12 3456,则可能会3作为第二个数字3456

还要注意性能问题。