2012-11-17 27 views
0

所以我正在做一個測驗蟒蛇程序,它似乎有一些問題與我的程序。 第一次如果你想開始測驗,測驗將開始並打印出像普通測驗那樣的問題,當你回答正確的問題時,我會給你點數。然而 測驗結束後,你想再做一次測驗,這就是問題的開始,當我要開始測驗,問題不打印出來字符串不能從文本文件打印

while True: 
    print('1. Take test, 2. Add Question, 3. Modify, 4. Delete, 5. Exit') 
    n=input('Choice: ') 
    counter=0 
    lines=q.readlines() 
    liness=p.read() 
    key=liness.split('\n') 
    while n not in ('1','2','3','4','5'): 
     print('Invalid Choice') 
     n=input('Choice: ') 

    if n=='1':    
     score=0 
     counter=0 
     n=0 
     nb=0 

     while True: 
      linez=lines[n:n+5] 
      for line in linez: 
       print(line) 
      b=CheckAnswer() 
      if b==key[nb]: 
       score=score+1 
       print('Nice') 
      n=n+6 
      nb=nb+1 
      counter=counter+1 
      print('Current Score: ',score) 
      if counter>=len(key): 
       break 

誰能幫助我解決這個問題?

+1

什麼是p和q? – jmilloy

回答

1

你已經執行完畢後這些行:

lines=q.readlines() 
liness=p.read() 

文件指針p和q指向文件的末尾。到readlinesread以下呼叫將在文件的末尾開始,因此,會返回一個空的答案...

您可以使用q.tell()檢查文件在您的實際位置,並q.seek(0)將復位指針該文件的開頭...

在這種特殊情況下,添加以下幾行,你從文件中讀取後,將解決這個問題:

q.seek(0) 
p.seek(0) 
+0

thx男人 它的工作完美 –

相關問題