correct_ans = ['B', 'D', 'A', 'A', 'C', 'A', 'B', 'A', 'C', 'D', 'B', 'C', \
'D', 'A', 'D', 'C', 'C', 'B', 'D', 'A']
这是我从txt文件中导入列表的声明
# import user answers into a list
infile = open('testscores.txt', 'r')
driver_ans = infile.readlines()
infile.close()
driver_ans = ['B', 'D', 'A', 'A', 'C', 'B', 'B', 'A', 'C', 'D', 'B', 'C', \
'D', 'A', 'D', 'C', 'C', 'B', 'D', 'A']
for index in range(0, 20):
if driver_ans[index] == correct_ans[index]:
total_correct += 1
else:
wrong_ans.append(index + 1)
这种逻辑继续回归所有错误的答案。这在视觉上我的“correct_ans”列表和我的“driver_ans”列表比较是不正确的。我究竟做错了什么?!
答案 0 :(得分:2)
只猜测。如果testscores.txt具有内容
B
D
A
A
...
请记住,driver_ans将是
['B\n', 'D\n', 'A\n', 'A\n', ...
尝试一下
driver_ans = [x.strip ('\n') for x in infile.readlines()]
答案 1 :(得分:2)
readlines()
函数返回包含尾随换行符的行。所以,试试:
driver_ans = [x.strip() for x in infile.readlines()]