擅长:python、mysql、java
<p><code>return</code>语句从当前循环中断,这意味着encrypt函数应该等到循环结束后返回:
另外请注意,如果字符不是大写或小写,则应附加字符,否则只会返回错误的第一个字母。<br/>
所以<code>encrypt(message,key)</code>应该是这样的:</p>
<pre><code>def encrypt(message,key):
cryptotext=""
for character in message:
if character in string.uppercase:
old_ascii=ord(character)
new_ascii=(old_ascii+key-65)%26+65
new_char=chr(new_ascii)
cryptotext+=new_char
elif character in string.lowercase:
old_ascii=ord(character)
new_ascii=(old_ascii+key-97)%26+97
new_char=chr(new_ascii)
cryptotext += new_char
else:
#Also, append character to cryptotext instead of returning it
cryptotext+= character
return cryptotext
</code></pre>