通过搜索发现了一个类似的问题,但我是一个新的(可怕的)程序员,并且无法理解答案。
我有一个包含多个字符串的.txt文件,由' - '分隔。我使用拆分将一些字符串分隔成变量,其中2个是相等的,但是在if语句中它们是不相等的。
f_nmr, f_Question, f_1, f_2, f_3, f_answer = file.readline().split('-')
print(f_2)
print(f_answer)
if f_2 == f_answer:
print("Yes")
elif f_2 != f_answer:
print("No")
这会产生以下结果:
瑞典
瑞典
没有
前面和后面都有一个空间"瑞典"字符串,它们都是用大写字母写的,但是不相等?我搞砸了哪里?
答案 0 :(得分:2)
最后一个元素包含换行符。我们以此输入文件为例:
$ cat file.txt
Sweden-Sweden
现在,让我们阅读:
>>> a, b = open('file.txt').readline().split('-')
>>> a,b
('Sweden', 'Sweden\n')
>>> a == b
False
解决方案是剥离换行符:
>>> a, b = open('file.txt').readline().rstrip('\n').split('-')
>>> a == b
True