簡體   English   中英

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

[英]2 identical strings “not equal” [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")

這產生以下結果:

瑞典

瑞典

沒有

前面有一個空間,在“瑞典”兩個字符串之后,它們都用大寫的'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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM