2个相同的字符串"不等于" [Python的]

时间:2017-09-21 00:18:40

标签: python

通过搜索发现了一个类似的问题,但我是一个新的(可怕的)程序员,并且无法理解答案。

我有一个包含多个字符串的.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")

这会产生以下结果:

瑞典

瑞典

没有

前面和后面都有一个空间"瑞典"字符串,它们都是用大写字母写的,但是不相等?我搞砸了哪里?

1 个答案:

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