字符串无法从文本文件打印

时间:2012-11-17 06:46:55

标签: python file list loops while-loop

所以我正在做一个测验python程序,似乎我的程序存在一些问题。 在第一次如果你想开始测验,测验将开始并打印出问题,就像正常的测验一样,当你回答正确的问题时,我会给你积分。然而 在测验结束后,你想再次进行测验,这就是问题开始的地方,当我想开始测验时,不打印问题

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 个答案:

答案 0 :(得分:1)

执行完这些行之后:

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

文件指针p和q指向文件的末尾。以下对readlinesread的调用将从文件末尾开始,因此将返回空答案...

您可以使用q.tell()检查文件中的实际位置,q.seek(0)会将指针重置为文件的开头...

在这种特殊情况下,在从文件中读取后添加以下行将解决问题:

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