当前位置: 首页 > 面试题库 >

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

丘友樵
2023-03-14
问题内容

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

我有一个.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


 类似资料:
  • 问题内容: 我的数据库中有文本。我从xhr向我的视图发送一些文本。函数查找找不到某些Unicode字符。 我想使用以下方式找到选定的文本: 但有时变量“选择”包含如下字符: 而在变量“文本”中有: 它们只是同一事物的不同形式。在这里如何使工作更可靠? 问题答案: 这可能对您有帮助。 基本上,如果您对来自db的数据进行规范化,并且将选择规范化为相同的形式,那么使用,(即)和朋友时应该会得到更好的结果

  • 我一直在试图解决这个面试问题,它要求洗牌字符串,以便没有两个相邻的字母是相同的,例如, ABCC->ACBC 我想到的方法是 1)遍历输入字符串并将(字母、频率)对存储在某个集合中 2)现在通过拉取频率最高(即>0)的字母来构建一个结果字符串 3)每当我们拉一封信时,更新(减少)频率 4)如果所有字母的频率为零,则返回结果字符串 5)如果只剩下一个频率大于1的字母,则返回错误 我假设是Unicod

  • 问题内容: 我有两个字符串,它们看起来都一样: 但是,检查相等性表明它们不是。 我还尝试从命令提示符中复制两个字符串,并将它们作为新变量粘贴回去,但是它们仍然不相等。我有80%的把握是因为它们的编码方式很怪异,插入了一些我看不见的奇数字符,但是使用type()都只是显示为字符串。 有什么办法可以看到“真实”字符串?任何帮助表示赞赏。 问题答案: 他们是不一样的; using显示了这两个值之间的差异

  • 我试着比较这个. txt 在我的班级档案里。java我使用此方法将txt的内容转换为字符串。 我使用这个测试来尝试文件。Java TestReadElements将该String与文件内容进行比较。当我在eclipse中使用JUnit或在Linux终端中使用build.xml时,测试失败。 我不知道问题在哪里(如果问题在build.xml或其他文件中)我已经改变了几个小时的小东西,我累了...这些

  • 问题内容: 为什么以下语句返回? 我也尝试过在字符串周围使用单引号。我唯一可以评估的方法是使用运算符,而不是 我的猜测是PHP将它视为某种方程式,但似乎有些奇怪。 有人可以详细说明吗? 问题答案: 是float数字格式,因此它们在比较时将转换为数字。 并且都将是因为它们太小。 对于在php中, 如果将数字与字符串进行比较,或者比较涉及 数字字符串 ,则每个字符串将转换为 数字 ,然后以数字方式进行

  • 本文向大家介绍C#计算2个字符串的相似度,包括了C#计算2个字符串的相似度的使用技巧和注意事项,需要的朋友参考一下 计算字符串相似度,直接来C#代码 返回结果就是相似度了,验证码识别上用的到 爱给模板网提供 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。