2016-09-22 63 views
0

當我嘗試輸入試圖在數組中查找數字的 位置的程序時,出現錯誤,我想給出整個輸入爲 一次性如何操作,有更容易的方法嗎?謝謝。試圖在控制檯中pycharm執行時我得到 以下錯誤在pycharm中輸入多行

輸入

# Returns index of x in arr if it is present, 
# else returns -1 
def search(arr, x): 
    n = len(arr) 
    for j in range(0,n): 
     if (x == arr[j]): 
      return j 
    return -1 

# Input number of test cases 
t = int(raw_input()) 

# One by one run for all input test cases 
for i in range(0,t): 

    # Input the size of the array 
    n = int(raw_input()) 

    # Input the array 
    arr = map(int, raw_input().split()) 

    # Input the element to be searched 
    x = int(raw_input()) 

    print(search(arr, x)) 

在pycharm控制檯我的輸入:

2 
4 
1 2 3 4 
3 
5 
10 90 20 30 40 
40 

輸出

Traceback (most recent call last): 
File "<input>", line 8, in <module> 
ValueError: invalid literal for int() with base 10: '2\n 41 2 3 4\n 3\n 5\n 10 90 >20 30 40\n 40' 

回答

0

Bcoz輸入字符串不能轉換爲int('2 \ n 41 2 3 4 \ n 3 \ n 5 \ n 10 90> 20 30 40 \ n 40') 您應該用'\ n'和''fist分析輸入值,然後轉換int int

+0

必須有另一種方法,我們可以只輸入值,而不是在pycharm中解析它們。如何在競爭性計劃中解決這個問題 – skywalker