Python基础:在stdin中找到'\N'之前,如何读取N个int

2024-09-21 07:31:48 发布

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

如何从输入中读取N int,并在找到\n时停止读取?另外,如何将它们添加到可以使用的数组中?

我在C中寻找类似的东西,但是在python中

while(scanf("%d%c",&somearray[i],&c)!=EOF){
    i++;
    if (c == '\n'){
        break;
    }
}

Tags: if数组intbreakwhileeofsomearrayscanf
2条回答

在Python 2中:

lst = map(int, raw_input().split())

raw_input()从输入中读取整行(在\n处停止)作为字符串。 .split()通过将输入拆分为单词来创建字符串列表。 map(int, ...)从这些单词中创建整数。

在Python 3中,raw_input已重命名为input,并且map返回一个迭代器而不是一个列表,因此需要进行一些更改:

lst = list(map(int, input().split()))

在Python中没有与scanf直接等价的内容,但这应该可以工作

somearray = map(int, raw_input().split())

在Python3中,raw_input已重命名为input

somearray = map(int, input().split())

这里有一个细目/解释

>>> raw=raw_input()              # raw_input waits for some input
1 2 3 4 5                        # I entered this
>>> print raw
1 2 3 4 5                            
>>> print raw.split()            # Make a list by splitting raw at whitespace
['1', '2', '3', '4', '5']            
>>> print map(int, raw.split())  # map calls each int() for each item in the list
[1, 2, 3, 4, 5]

相关问题 更多 >

    热门问题