2个相同的字符串“不相等” [Python]

发布于 2021-01-29 15:03:38

通过搜索发现了类似的问题,但我是一位新的(糟糕的)程序员,无法理解答案。

我有一个.txt文件,其中包含多个字符串,以’-‘分隔。我使用拆分将一些字符串分成变量,其中两个相等,但是在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")

这将产生以下结果:

瑞典

瑞典

没有

在两个“ Sweden”字符串之前和之后都有一个空格,并且它们都用大写字母“ S”编写,但不相等吗?我在哪里搞砸了?

关注者
0
被浏览
174
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    最后一个元素包括换行符。让我们以这个输入文件为例:

    $ 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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看