2011-11-10 80 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个字符的行。