擅长:python、mysql、java
<h2>问题与解决方案</h2>
<p>您的问题是,您实际上是在覆盖循环的每次迭代<code>s</code>的值。您需要创建一个变量来保存每次迭代的当前结果的值,并将其添加到该变量中</p>
<pre><code>result = 1
for character in message:
result *= key[character] # same as result = result * key[character]
</code></pre>
<h2>改进</h2>
<p>您可以简化字母到数字的映射:</p>
<pre><code>key = {chr(number): number - 64 for number in range(65, 91)}
</code></pre>
<p>或者可以使用<code>string.ascii_letters</code>:</p>
<pre><code>from string import ascii_letters
key = {letter: number for number, letter in enumerate(ascii_letters, 1)}
</code></pre>