通过搜索发现了类似的问题,但我是一位新的(糟糕的)程序员,无法理解答案。
我有一个.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”编写,但不相等吗?我在哪里搞砸了?
最后一个元素包括换行符。让我们以这个输入文件为例:
$ 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