我新的Python這樣原諒任何代碼很差,你會發現字符串不會比正常
我遇到的問題是,我想比較兩個字符串,一個從文件和一個從用戶輸入,看他們是否匹配。但是,在比較看起來相同的字符串時,if語句返回false。我已經使用str()
函數將這兩個值轉換爲字符串,但它仍然不想玩球。
作爲參考,文件的行是兩個字符串,用逗號分隔,'問題'部分在逗號和之後的'答案'之前。目前,這兩個字符串是測試字符串,所以有「問題」和「答案」
import linecache
def askQuestion(question, answer):
choice = input(question)
str(choice)
if choice == answer:
print("Correct")
else:
print("Bad luck")
file = "C://questions.txt"
text = linecache.getline(file, 1)
question = text.split(",", 1)[0]
answer = text.split(",", 1)[-1]
str(answer)
askQuestion(question, answer)
的我打字的正是該文件已在正確的地方,即大寫字母的值,做筆記。 我敢肯定,答案很明顯,但我很茫然,所以任何幫助,將不勝感激。
謝謝!
'str(選擇)'返回一個字符串,你扔掉了 - 它不會原地改變'choice'。你可以用'choice = str(choice)'來代替。你的程序可能比那個缺陷更多。 – roippi
也許Python在每行的末尾檢測換行符('\ n')。嘗試做'answer.strip()'。 –