2011-11-10 19 views
0

私は、プログラムが複数の選択問題を含むファイルから読み込み、ユーザーがこの質問に回答して得点するというゲームを作成しています。私は同じエラーメッセージが表示されますしかし、私は立ち往生しています:ここPythonのエラーメッセージ:builtins.IndexError:文字列インデックスが範囲外にある

builtins.IndexError: string index out of range 

は私のコードは、これまでのところです:

def main(): 
    playagain = True 
    while playagain: 
     inFile = open('Questions.txt', 'r') 
     condition = True 
     while condition: 
      for line in range(5): 
       line = inFile.readline() 
       print(line) 

      anskey = inFile.readline() 
      anskey = anskey[4] 

      status = True 
      while status: 
       useranswer = str(input('Enter your answer? ')) 
       useranswer = useranswer.upper() 

       if useranswer == 'A' or useranswer == 'B' or useranswer \ 
        == 'C' or useranswer == 'D': 
        status = False 
        if useranswer == anskey: 
         correct = correct + 1 
         print('Correct Answer!') 
        else: 
         print('Wrong Answer!') 
         correct = correct 
       else: 
        print('Answer not valid!') 


main() 
+2

_full tr​​aceback_を質問の編集として投稿します(コメントではありません)。 – agf

+1

これはどのような行為ですか?詳細! – birryree

+0

@eryksun - 私の間違い - PythonTidyを使ってコードの書式を整理しましたが、かっこは取り除かれているはずです。 – birryree

答えて

0

あなたのコードで唯一のインデックス操作はanskey[4]で、ありますので、私の推測がされますinFileに5文字未満の行があることを確認してください。

関連する問題