回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想通过使用<code>echaracters</code>中的字符更改每个字母来加密一些字母,该字符的索引与<code>characters</code>中的字母相同。
因此,我尝试使用<code>zip()</code>来迭代这两个列表。
首先,我迭代了<code>userInput</code>,在同一个循环中,我迭代了<code>key</code>(也就是<code>zip(characters, echaracters)</code>)
然后我检查<code>i</code>是否等于<code>a</code>,如果条件是<code>True</code>,我将<code>b</code>添加到<code>cipher</code></p>
<pre><code>userInput = input("Enter: ")
characters = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
echaracters = ["@", "$", "(", "]", "=", ")", "&", "#", "!", "%", "~", "[", "/", ";", "*", "}", "9", "?", "5", "1", "_", ">", "<<", "+", ",", "-"]
key = zip(characters, echaracters)
cipher = ""
for i in userInput:
for a, b in key:
if i == a:
cipher += b
print(cipher)
</code></pre>
<p>输出</p>
<pre><code>Enter: ABC
@
</code></pre>
<p>我不明白为什么它只返回第一个符号<br/>
期望输出</p>
<pre><code>Enter: ABC
@$(
</code></pre>
<p>我做错了什么</p>