python - 为什么我无法使用python使用单个输入函数获得两个由空格分隔的整数

标签 python python-3.x input

number_of_testcases = input()
number_of_girls = int(input().split())
i=0
a = []
b = []
while i < number_of_girls:
    v,n = input().split()
    a.append(v)
    b.append(n)
    i = i +1 


我试图使每个测试用例的第一行包含一个整数n,然后是n行,每行包含两个以空格分隔的整数。

我得到的错误是


  v,n = input()。split()
    EOFError:读取行时EOF'


有人可以解释一下吗?我是python的新手,很难理解。

最佳答案

从错误消息中猜测:您似乎没有足够的数据可解析。但是您的代码应该会给您带来更早的错误:

因为int()可以对包含单个数字的字符串进行操作-不适用于包含多个字符串的列表。

采用

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


相反,您会得到一个整数列表,如果您输入非数字,它会崩溃。



通常,做您要达到的目标我会做:

data = []
cases = int(input().strip())  # number of cases in a single line
for _ in cases:
   girls = int(input().strip())  # number of girs per test case given in single line

   case = [[],[]]
   for _ in range(girls):
       a,b = map(int,input().strip().split()) # 2 numbers space seperated in single line
       case[0].append(a)
       case[1].append(b)

   data.append(case)


获取所有测试用例的所有数据。

关于python - 为什么我无法使用python使用单个输入函数获得两个由空格分隔的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58128322/

相关文章:

python - 如何打印从列表列表中找到的列表名称?

python-3.x - librosa.load() 加载(样本)mp3 文件的时间太长

python - 为什么在 python 中使用 re.split() 时会得到那些空字符串?

c - 快速读取文件

python - 为什么 python 的 datetime.max 不能通过 timestamp/fromtimestamp 进行往返?

python - render_template 和重定向之间的区别?

python - 图像到文本python

python - 提示用户退出或继续

javascript - jQuery 为每个输入更改匹配元素的文本

python - 有没有办法找到带有标准库的应用程序的路径?