python:逐步从流中读取整数



我可以在Python中:

n = int(input())
a = [int(x) for x in input().split()]

我可以在c++中:

int main()
{
    int n, x;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> x;
        somthing(x)
    }
}

如何在Python(3.x)上编写它?我可以处理流中的数字而不将所有数字保存在列表中吗?

输入数据(例如):

6
1 4 4 4 1 1

我可以使用sys.stdin吗?

UPD:

好的,我写了这个:

import sys
n = int(input())
i = 0
c = ""
s = ""
while i < n:
    c = sys.stdin.read(1)
    if c in [" ","n"]:
        x = int(s)
        somthing(x)
        s = ""
        i += 1
    else:
        s += c

有没有更优雅的解决方案?

Python对这种特定形式的输入没有特殊情况。默认情况下,input()函数从输入中读取一行(由换行符分隔)并将其转换为字符串。

您必须使用split()来分隔这些值。

相关内容

  • 没有找到相关文章

最新更新