2016-11-19 40 views
-1

以下是我迄今所做的:我試圖做的一段代碼在用戶輸入5個號碼和代碼將刪除第5號。我的代碼有什麼問題?

def remove_five(): 
    list = [] 
    for x in range(0, 4): 
     number = input("Enter a number") 
     list.append(number) 
    end 
    fifth = list[4] 
    list.remove(fifth) 

remove_five() 

我收到了「類型錯誤,當我運行程序。這就是它說: 回溯(最近最後一次通話):

文件 「G:fivealive.py」,第6行,在 list.append(數字) 類型錯誤:描述符 '追加' 需要「名單「對象,但收到了 'STR'

+2

輸入()返回一個字符串,追加要求列表,ISN這足夠清楚了嗎? –

+0

我沒有得到那個錯誤,但是你的代碼有幾個問題:1)確保你的縮進是正確的。 2)如果你想要輸入5個數字,設置循環爲「範圍內的x(0,5)」。3)你不必在for循環結束時放置結束4)列表只存在於這個函數,函數結束後不會有任何影響 –

+0

這裏的'end'是什麼?您不應該使用'list'作爲變量,因爲它是Python中的內置數據類型。而你在這裏提到的代碼並不是真正的代碼,它給了你那個錯誤。可能是你有'number = input()',然後你在做'list.append()'這會導致這個錯誤,因爲input()返回的值將是'str'類型 –

回答

1
  1. 保持縮進正確的。
  2. range(0, 4)會產生0..3。你想要range(5)
  3. 如果你想要的數字,輸入轉換爲整數。使用del操作
  4. 刪除元素。
  5. 返回所創建的列表。
  6. 不要使用list變量名,因爲它是內置式

修復它應該產生這樣的:

def remove_five(): 
    my_list = [] 
    for x in range(5): 
     number = int(input("Enter a number")) 
     my_list.append(number) 
    del my_list[4] 
    return my_list 

my_list = remove_five()