[英]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.