擅长:python、mysql、java
<p>在<code>spanish()</code>函数中,使用相同的名称命名参数和局部变量,然后不检查参数与<code>newDict</code>的对应关系,而是检查字符串<code>word</code>,这就很好地解释了为什么总是得到<code>"Not there"</code>,而且您不需要<code>newDict[str(word)] = val</code>,因为您已经将其读取为<code>string</code></p>
<p>这是您的解决方案:</p>
<pre><code>def spanish(word_lookup):
with open("eng2sp.txt","r") as spanishfile:
newDict = dict(line.split() for line in spanishfile)
if word_lookup in newDict:
print(newDict[word_lookup])
else:
print("Not there")
</code></pre>