首页 > 解决方案 > 读取由空格或行尾分隔的未知数量的整数

问题描述

我正在尝试找到一种方法来解决这个问题,我发现一些只能部分回答这个问题的位,例如:

from sys import stdin 
lines = stdin.read().splitlines()

但这只会接受由行分隔的整数

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

而这只读取由空格分隔的整数

我被困在这一点上,无法找出两者的交叉点。我正在尝试学习 EOF 功能。

标签: python-3.xinput

解决方案


import sys

numbers = []
for line in sys.stdin:
    numbers += [int(number) for number in line.split()]
print(numbers)

请记住,您必须在终端上显式发送 EOF 才能完成循环(在 bash 中为 ctrl+d)。否则,它将永远卡在 for 循环中。


推荐阅读