尝试用另一个字母替换字母表中的每个字母以打印完全不同的内容,例如:"python" 最终变成 "fhoeyd"

trying to replace every letter of the alphabet with another letter to print something completely different eg: "python" ends up to be "fhoeyd"

s = 'word'
t = s.replace('a','g')
t = s.replace('b','h')
t = s.replace('c','a')
t = s.replace('d','j')
t = s.replace('e','t')
t = s.replace('f','k')
t = s.replace('g','l')
t = s.replace('h','q')
t = s.replace('i','f')
t = s.replace('j','e')
t = s.replace('k','r')
t = s.replace('l','w')
t = s.replace('m','b')
t = s.replace('n','v')
t = s.replace('o','u')
t = s.replace('t','i')
t = s.replace('q','t')
t = s.replace('r','c')
t = s.replace('s','n')
t = s.replace('t','m')
t = s.replace('u','z')
t = s.replace('v','x')
t = s.replace('w','y')
t = s.replace('x','o')
t = s.replace('y','s')
t = s.replace('z','d')
print(t)

如果此代码包含用于替换单词中不存在的字母的字母,则此代码不起作用,我无法找到使其工作的方法我知道原因只是不知道如何修复它我是 python 的新手,如果谁能帮忙就太好了

你可以这样试试,

import string
import random

letters = list(string.ascii_lowercase)
word = "python"

for letter in word:
  word = word.replace(letter, random.choice(letters))

word

输出-

zufmqr

因为这段代码会随机替换一个字母,所以每次你的输出都会不同。要获得一致的输出,请使用 random.seed() 设置种子并在其中传递您选择的任意数量。

您可以通过多种方式完成。

1。转换 ASCII 中的每个字符加上一个数字并将结果转换为字符,但您可能会以一些特殊字符结尾,例如“#@$%^?”

letter = chr(ord(ch) + 6) 我得到字符 ch 将其转换为等效的 ASCII,加 6 并使用 chr() 将结果转换为字符串

input_string = input("input a string: ")

result = []

for ch in input_string:
    new_ch = chr(ord(ch) + 6)
    result.append(new_ch)

print("".join(result))

2。使用随机和字符串库。

import string 
import random 


characters = string.ascii_lowercase
string = input("input a sentece: ")
result = []

for ch in string:
    letter = random.choice(characters)
    result.append(letter)

print("".join(result))

我建议选择第二个选项,因为如果要将其用于密码生成器,请提供一些随机元素。

我用过这个:

list_A = ['w','o','r','l','d']
list_B = ['y','u','c','w','j']

string = 'world'
string_fin = ''

for s in string:
    for i, j in zip (list_A, list_B):
        if s == i:
            string_fin += j

print(string_fin)