2017-03-08 147 views
0

我的代碼:爲什麼這個程序不給預期的輸出

n = int(input()) 
arr = [] 

for i in range(0,n): 
    s = input().split() 

    for i in range(1,len(s)) : 
     s[i] = int(s[i]) 
     if s[0] == "append" : 
      arr.append(s[1]) 
     elif s[0] == "insert" : 
      arr.insert(s[1],s[2]) 
     elif s[0] == "print" : 
      print(arr)    
     elif s[0] == "reverse" : 
      arr.reverse()    
     elif s[0] == "sort" : 
      arr.sort()    
     elif s[0] == "pop" : 
      arr.pop()    
     elif s[0] == "remove" : 
      arr.remove(s[1]) 

INPUT:

插入0 5

刀片1 10

插入0 6

打印

刪除6

追加9

追加1

排序

打印

彈出

反向

打印

預期輸出:

[6,1 5,10]

[1,5,9,10]

[9,5,1]

MY OUTPUT:

(無輸出)

回答

1

所有行f rom if s[0] == "append"到代碼的末尾縮進一層太多,使它們成爲將參數轉換爲整數的循環的一部分。這個循環對沒有參數的命令執行零次,所以特別是「打印」命令什麼都不做。

+0

非常感謝! –

相關問題