【发布时间】:2021-10-09 18:45:48
【问题描述】:
我的 Python 代码没有替换字符串内容。有些字母似乎遗漏了。输出是
['x', 'y', 'p', 's', 'v', 'r', 'p', 'u', 'n', 'p']
['c', 'b', 'k', 'h', 'e', 'i', 'k', 'f', 'm', 'k']
但似乎 .replace 应该把它放回原来的样子。
message = "cypherpunk"
new_message = []
for letter in message:
x = letter.replace("z","a").replace("y","b").replace("x","c").replace("w","d").replace("v","e").replace("u","f").replace("t","g").replace("s","h").replace("r","i").replace("q","j").replace("p","k").replace("o","l").replace("n","m").replace("m","n").replace("l","o").replace("k","p").replace("j","q").replace("i","r").replace("h","s").replace("g","t").replace("f","u").replace("e","v").replace("d","w").replace("c","x").replace("b","y").replace("a","z").replace("#","!")
new_message.append(x)
print(x)
print(new_message)
decode = []
for letter in new_message:
x = letter.replace("a","z").replace("b","y").replace("c","x").replace("d","w").replace("e","v").replace("f","u").replace("g","t").replace("h","s").replace("i","r").replace("j","q").replace("k","p").replace("l","o").replace("m","n").replace("n","m").replace("o","l").replace("p","k").replace("q","j").replace("r","i").replace("s","h").replace("t","g").replace("u","f").replace("v","e").replace("w","d").replace("x","c").replace("y","b").replace("z","a").replace("!","#")
decode.append(x)
print(decode)
【问题讨论】:
-
字典是一个更好的方法来一次性完成所有
replace()调用。 -
您能说出您打算如何“加密”字符串吗?你有很多
.replace() -
.replace("n","m").replace("m","n")没有意义,不会有m