簡體   English   中英

為什么我無法使用 python 使用單個輸入 function 獲得兩個由空格分隔的 integer

[英]why i am not able to get two integer separated by a space using single input function using python

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 

我試圖讓每個測試用例的第一行包含一個 integer 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)

獲取所有測試用例的所有數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM