python中带分隔符的输入
我对以下规格有问题: 输入: 第一行包含一个整数N,即给定sequnce中的元素数。 然后跟随N个整数A1,A2。。。。An,Ai是给定序列的第i个元素。这些数字可以是空格分隔的,也可以是换行分隔的 我如何处理这样的输入? 我尝试了以下方法,但它只适用于空格分隔的元素。当与换行分隔的元素一起使用时,分级器会抛出“超时”python中带分隔符的输入,python,input,stdin,Python,Input,Stdin,我对以下规格有问题: 输入: 第一行包含一个整数N,即给定sequnce中的元素数。 然后跟随N个整数A1,A2。。。。An,Ai是给定序列的第i个元素。这些数字可以是空格分隔的,也可以是换行分隔的 我如何处理这样的输入? 我尝试了以下方法,但它只适用于空格分隔的元素。当与换行分隔的元素一起使用时,分级器会抛出“超时” 假设您正在读取一个文件(sys.stdin也是一个文件): f=open('path/to/file') N=int(f.readline().strip()) A=[] 而le
假设您正在读取一个文件(
sys.stdin
也是一个文件):
f=open('path/to/file')
N=int(f.readline().strip())
A=[]
而len(A)
希望这有助于
行。split()
也适用于分隔符,如、
等。是的,但在每一行上,我要么只有空格,要么只有一个数字。据我所知,没有其他分隔符,您的代码工作正常(只要第一行只包含1个数字)只要数据被放入sys.stdin
(并且sys.stdin
被正确终止)。。。当然,您将获取的不仅仅是N个元素……您不需要打开sys.stdin
。它已经是一个打开的文件,所以我写:N=int(sys.stdin.readline().strip())A=[],而len(A)import sys
counter=0
A=[]
for line in sys.stdin:
if counter!=0:
A+=[int(Ai) for Ai in line.split()]
else:
N=int(line)
counter+=1
f = open('path/to/file')
N = int(f.readline().strip())
A = []
while len(A) < N:
A.extend(int(i) for i in f.readline().strip().split())