首页 > 解决方案 > 程序不会更改字符串中的字母

问题描述

我一直在尝试制作一个对您输入的文本进行编码的程序。一切都应该正常工作,但每次我运行它并输入文本时,它都会输出我输入的相同文本。

def code_check(letter, letter_check, code_letter):
    if letter == letter_check:
        letter = code_letter
    return letter


def encode(code1):
    for letter in code1:
        letter = code_check(letter, "X", "Y")
        letter = code_check(letter, "F", "A")
        letter = code_check(letter, "V", "M")
        letter = code_check(letter, "D", "E")
        letter = code_check(letter, "O", "U")
        letter = code_check(letter, "T", "C")
        letter = code_check(letter, "B", "N")
        letter = code_check(letter, "L", "Q")
        letter = code_check(letter, "W", "H")
        letter = code_check(letter, "J", "P")
        letter = code_check(letter, "G", "K")
        letter = code_check(letter, "Z", "I")
        letter = code_check(letter, "R", "S")
        letter = code_check(letter, "x", "y")
        letter = code_check(letter, "f", "a")
        letter = code_check(letter, "v", "m")
        letter = code_check(letter, "d", "e")
        letter = code_check(letter, "o", "u")
        letter = code_check(letter, "t", "c")
        letter = code_check(letter, "b", "n")
        letter = code_check(letter, "l", "q")
        letter = code_check(letter, "w", "h")
        letter = code_check(letter, "j", "p")
        letter = code_check(letter, "g", "k")
        letter = code_check(letter, "z", "i")
        letter = code_check(letter, "r", "s")
    return code1


code = input("Type code here: ")


print(encode(code))

标签: python

解决方案


分配给letter不会更改 中的相应字符code1。您需要将结果收集到一个新变量中并将其返回。

def encode(code1):
    result = ''
    for letter in code1:
        letter = code_check(letter, "X", "Y")
        letter = code_check(letter, "F", "A")
        letter = code_check(letter, "V", "M")
        letter = code_check(letter, "D", "E")
        letter = code_check(letter, "O", "U")
        letter = code_check(letter, "T", "C")
        letter = code_check(letter, "B", "N")
        letter = code_check(letter, "L", "Q")
        letter = code_check(letter, "W", "H")
        letter = code_check(letter, "J", "P")
        letter = code_check(letter, "G", "K")
        letter = code_check(letter, "Z", "I")
        letter = code_check(letter, "R", "S")
        letter = code_check(letter, "x", "y")
        letter = code_check(letter, "f", "a")
        letter = code_check(letter, "v", "m")
        letter = code_check(letter, "d", "e")
        letter = code_check(letter, "o", "u")
        letter = code_check(letter, "t", "c")
        letter = code_check(letter, "b", "n")
        letter = code_check(letter, "l", "q")
        letter = code_check(letter, "w", "h")
        letter = code_check(letter, "j", "p")
        letter = code_check(letter, "g", "k")
        letter = code_check(letter, "z", "i")
        letter = code_check(letter, "r", "s")
        result += letter
    return result

推荐阅读