2011-11-10 90 views
0

我創建一個遊戲,程序會從包含5個選擇題文件中讀取,用戶可以回答這個問題,並獲得分數。但是我被卡住,因爲我得到同樣的錯誤消息: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個字符的行。