python - 程序不会更改字符串中的字母
问题描述
我一直在尝试制作一个对您输入的文本进行编码的程序。一切都应该正常工作,但每次我运行它并输入文本时,它都会输出我输入的相同文本。
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))
解决方案
分配给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
推荐阅读
- inheritance - 从 F# 生成类型提供程序提供的类型继承
- django - default_if_none 需要 2 个参数,提供 1 个
- r - 使用 ggplot 中的 facet_wrap 为时间序列复制 X 轴
- java - 向 JavaFX 应用程序添加透明覆盖
- python - 从包含 Python 中特殊字符的 CSV 单元格中提取字符串
- symfony - 更新到 4.1.0 时忽略 Symfony 和引导程序布局
- three.js - 渲染到帧内的纹理
- jquery - 如何序列化一个简单的 HTML 表单内容?
- swift - Swift:如何在 button.addTarget 中添加参数
- laravel - 尝试创建 Laravel 项目时出错 - OpenSSL 错误消息:无法启用加密