Python 在告诉它不要打印后打印不需要的字母

标签 python

我想创建一个翻译器,所以我在网上看了一些视频,找到了一个演示如何替换句子中的某些字母并将它们变成其他字母/符号的视频。我尝试这样做并且成功了。但是一旦我开始添加新的其他字母以供其查找。它开始打印本应被替换的字母。

def translate(phrase):
    translation = ""
    for letter in phrase:

        if letter in "ㅏ": #if ㅏ then A
            translation = translation + "A" 


        if letter in "Б": #if Б then B
            translation = translation + "B"
        else:
            translation = translation + letter

    return translation

print(translate(input("Enter a phrase: ")))

我打算添加整个字母表,所以我不能让它打印不需要的“应该被替换的字母”。我已经尽力了。但我就是无法让它工作。有什么想法吗?

最佳答案

您需要像这样组合 if 语句:

if letter in "ㅏ": #if ㅏ then A
    translation = translation + "A" 
elif letter in "Б": #if Б then B
    translation = translation + "B"
else:
    translation = translation + letter

否则,除了 B 之外的每个字符(包括 !),您都会遇到 else 分支

可能值得注意的是,letter in "ㅏ" 可以更简单地写成 letter == "ㅏ"。另一个比较也是如此。

最后,您可能还想看看 maketrans()translate():https://www.tutorialspoint.com/python3/string_maketrans.htm

关于Python 在告诉它不要打印后打印不需要的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58463585/

相关文章:

python - Arrayfire python支持多GPU编程吗

Python Shlex 用括号分割

python - 如何使用 GridSearchCV 获取所有模型(每组参数一个)?

python - 如何让这个 python 脚本遍历目录树?

python - 使用 scipy.signal.lti 从状态矩阵在 Python 中创建 LTI 系统

python - 计算第一行第一列输入的数组值

python - 在 venv 中将 Python 升级到 3.7?

python - 在 VS Code 中运行 Python 脚本时如何隐藏文件路径?

Python-删除列表中前两次出现的元素

python - 使用 paypal 沙箱 API 时出错