擅长:python、mysql、java
<p>我认为您不应该将空格、制表符和数字字符与<code>eng</code>字符区别对待。我只想像这样扩展你的角色:</p>
<pre class="lang-py prettyprint-override"><code>eng = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \t1234567890"
</code></pre>
<p>然后,我们可以删除“空间”部分,结果如下:</p>
<pre class="lang-py prettyprint-override"><code>turk = {"Ç":"C","ç":"c","Ğ":"G","ğ":"g","İ":"I","ı":"i",
"Ö":"O","ö":"o","Ş":"S","ş":"s","Ü":"U","ü":"u"}
eng = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \t1234567890"
word = input("Enter a word")
def turkChar(word, turk):
newword = ""
for c in word:
if c in eng:
newword = newword + c
elif c in turk:
newword = newword + turk[c]
return newword
</code></pre>
<ul>
<li>制表符被写为字符串中的<code>\t</code></李>
<li>注意到<code>eng</code>字符串中缺少一个较低的<code>h</code></李>
<li>您将<code>turk</code>定义为参数,但未将<code>eng</code>定义为参数,或者两者都定义,或者两者都不定义</李>
<li>如果在<code>eng</code>或<code>turk</code>中找不到字符,则忽略该字符</李>
</ul>