2017-08-14 8 views
0

私はかなりPythonの新機能ですが、多くのエラーが発生していますが、顧客のジャンルに基づいてゲームを推薦する次のコードを修正できません' 購入履歴。「タプル・インデックスが範囲外です」というエラーが発生する理由を理解できません

game_name = ["COD1", "COD2", "COD3", "SKYRIM", "H1Z1", "CSGO", "BF1", "BF3", "BF4", "GTAV", "GTAIV", "FIFA17", "NBA2K17", "MADDEN17", "PES2017", "NHL17", "MLB17", "PGA17", "F12017", "NBA2017"] 
history = [["COD1", "COD2", "SKYRIM", "H1Z1", "NHL17", "MLB17", "CSGO", "BF1", "BF3", "F12017"], ["FIFA17", "NBA2K17", "MADDEN17", "PES2017", "COD3", "SKYRIM", "MLB17", "PGA17", "NBA2017", "GTAIV"], ["COD2", "COD3", "PES2017", "NHL17", "BF4", "GTAV", "GTAIV", "MLB17", "PGA17", "F12017"]] 
forename = ["Joe", "George", "Oliver"] 
HistoryGenre=[["Action", "Action", "Action", "Action", "Sport", "Sport", "Action", "Action", "Action", "Sport"], ["Sport", "Sport", "Sport", "Sport", "Action", "Action", "Sport", "Sport", "Sport", "Action"], ["Action", "Action", "Sport", "Sport", "Action", "Action", "Action", "Sport", "Sport", "Sport"]] 
rr=1 
ActionCounter=0 
SportCounter=0 
while rr==1: 
    rec=input("Who would you like to recommend games for?") 
    if rec in forename: 
     rr+=1 
     r=forename.index(rec) 
     ActionCounter = HistoryGenre[r][:10].count("Action") 
     SportCounter = HistoryGenre[r][:10].count("Sport") 
     if SportCounter==ActionCounter: 
      both_list=game_name 
      both_remover=0 
      for i in both_list: 
       if both_list[both_remover] in history[r]: 
        both_list.remove(both_list[both_remover]) 
       else: 
        both_remover+=1 
        loops=1 
      for x in range(1): 
       rec1=random.randint(0,len(both_list)-1) 
       while loops==1: 
        for x in range(1): 
         rec2=random.randint(0,len(both_list)-1) 
         if rec2!=rec1: 
          loops+=1 
         else: 
          loops=1 
        loops1=1 
        while loops1==1: 
         for x in range(1): 
          rec3=random.randint(0,len(both_list)-1) 
          if rec3!=rec2 and rec3!=rec1: 
           loops1+=1 
          else: 
           loops1=1 

        print("\n") 
        print("{} likes both genres! I recommend {} and {} and {} and {}".format(rec, both_list[rec1], both_list[rec2], both_list[rec3])) 

エラーメッセージは、コードの最後の行に発生し、both_listtupleないにもかかわらず、Tuple index out of range読み込み?他の人は、この配列内のインデックスをフォーマットしているという事実のために問題を抱えているようですが、私が試したことは何も起こりませんし、同じエラーメッセージが現れ、私のエラーの原因が正確にわかりません。

+2

最後に文字列に5個の{{} 'がありますが、入力項目が4個あることに注意してください。 – patrick

+0

私はばかです。コピー&ペーストエラー。 –

答えて

1

format()コールの引数が、{}よりも少ないようです。

+0

申し訳ありません、コピー&ペーストエラー:( –

関連する問題