擅长:python、mysql、java
<p>你想做一个<code>rot-13</code>(或广义的“<code>rot-x</code>”)类型函数吗?</p>
<pre><code>from string import ascii_uppercase, ascii_lowercase
def rotx(data,rotby):
total = []
for char in data:
if char in ascii_uppercase:
index = (ascii_uppercase.find(char) + rotby) % 26
total.append(ascii_uppercase[index])
elif char in ascii_lowercase:
index = (ascii_lowercase.find(char) + rotby) % 26
total.append(ascii_lowercase[index])
else:
total.append(char)
return "".join(total)
</code></pre>
<p>跑步:</p>
<pre><code>>>> import rotx
>>> rotx.rotx("test",2)
'vguv'
>>> rotx.rotx("IBM-9000",-1)
'HAL-9000'
</code></pre>
<p>如果在ASCII字符中添加2个字符,<code>}</code>将变为不可打印,<code>~</code>将变为取决于字符编码的内容</p>