2016-11-19 9 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() 

は、私が」TypeError例外を取得します。これはこう言われる、 トレースバック(最新の呼び出しの最後):

ファイル "G:fivealive.py"、6行目、 list.append(数) TypeError例外で:ディスクリプタ 'APPEND'「はリストが必要です'オブジェクトを受け取った' str '

+2

入力()、文字列を返すリストが必要追加、ISN十分にクリア? –

+0

私はそのエラーは発生しませんが、あなたのコードにはいくつかの問題があります:1)インデントが正しいことを確認してください。 2)5つの数字を入力する場合は、 "for x in range(0,5)"のループを作成します。3)forループの最後にendを置く必要はありません。関数が終了しても効果はありません –

+0

ここでは 'end'とは何ですか? 'list'は、Pythonでビルドされたデータ型であるため、変数として使用しないでください。そして、あなたがここで言及したコードはあなたにそのエラーを与えた実際のコードではありません。あなたが 'number = input()'を持っていて、 'input()'によって返された値が 'str'型になるので、このエラーの原因となった' list.append() 'をやっているかもしれません。 –

答えて

1
  1. インデントを正しく入力してください。
  2. range(0, 4)は0..3を生成します。あなたはrange(5)が欲しいです。
  3. 数値を必要とする場合は、入力を整数に変換します。
  4. del操作を使用して要素を削除します。
  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() 
関連する問題