如何從輸入中讀取N int
s,並在找到\n
時停止讀取?另外,我如何將它們添加到我可以使用的數組中?Python基礎:如何讀取N個字符,直到在標準輸入中找到' n'
我正在尋找在C這樣的事情,但在Python
while(scanf("%d%c",&somearray[i],&c)!=EOF){
i++;
if (c == '\n'){
break;
}
}
如何從輸入中讀取N int
s,並在找到\n
時停止讀取?另外,我如何將它們添加到我可以使用的數組中?Python基礎:如何讀取N個字符,直到在標準輸入中找到' n'
我正在尋找在C這樣的事情,但在Python
while(scanf("%d%c",&somearray[i],&c)!=EOF){
i++;
if (c == '\n'){
break;
}
}
在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()))
有scanf函數在Python中沒有直接對應,但這應該工作
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]