2013-11-28 63 views
0

對於壞的標題名稱,不能真正找出任何好的名稱。蟒蛇 - 字典和

我有一個問題,我無法解決。我已經嘗試了各種方法來找到問題,但似乎無法解決問題。

http://www.codesend.com/view/62a8ede9843cb4c63196285c104f7bd7/ 這是我的代碼。

我已經做了一個字典,我從一個文件中讀出(正常工作,測試和打印出來等)。然後我由用戶輸入一個字符串。然後我運行checkData(),它應該查看txt中的任何字母是否在字典中。爲了解決我的問題,我們使用非註釋的checkData(),如果所有內容都存在或不存在,基本上只會打印。

我的問題是,無論我有什麼作爲輸入,一切都存在(它沒有)。我嘗試過使用隨機符號,例如•Ωıéœμ•üΩμé,但它仍然表示一切都存在。該循環完美工作,並打印出'在'之內,這意味着txt [i]在dictMorse或dictTxt中。但是「如果txt [i]在dictMorse或dictTxt:」不起作用。

感謝您的幫助!

+0

將相關代碼添加到您的問題中,請勿鏈接到它。 –

+1

代碼太多,不應該張貼在外部網站上。將其縮小到展示問題的*最小*示例,並將其添加到您的問題中。 –

+0

我將在未來的帖子中,只是在沒有解決問題之後不加思索地突發奇想。 – user2843488

回答

3
if txt[i] in dictMorse or dictTxt: 

相當於

if (txt[i] in dictMorse) or dictTxt: 

這個條件總是爲真時dictTxt是空的。

你大概的意思是:

if txt[i] in dictMorse or txt[i] in dictTxt: 
+0

謝謝,解決了它。愚蠢的我沒有找到:) – user2843488

1
 if txt[i] in dictMorse or dictTxt: 

x in y or z被解析爲(x in y) or z。一個非空字典被視爲是真的。您需要以下內容:

 if txt[i] in dictMorse or txt[i] in dictTxt: 
+0

即使它被解析「另一種方式」,它仍然不意味着OP想要它的意思。像這樣的嘗試正在對邏輯進行非正式的觀察,這與編程不兼容。 –