我有这段代码:
afile = "name.txt"
f = open(afile,"r")
content = f.readlines()
f.close()
correct = content[1]
answer = raw_input()
if answer == correct:
print 'True'
让我们说,因为name.txt,内容[1]是George,然后我运行代码并输入George作为答案。 为什么我不会成真? 为什么回答和纠正是不一样的?
答案 0 :(得分:6)
您阅读的数据包括换行符;首先从行中删除那些:
if answer == correct.strip():
从字符串的开头和结尾删除所有空格。如果开头或结尾的空格很重要,您可以使用以下命令从中删除新行
if answer == correct.rstrip('\n'):
答案 1 :(得分:0)
重写了一下:
def get_file_line(fname, line_num):
with open(fname) as inf:
try:
for _ in range(line_num + 1):
line = inf.next()
return line.rstrip('\r\n')
except StopIteration:
return None
if answer == get_file_line('name.txt', 1):
print('True')