python - 基本翻译器,将元音翻译成ag
问题描述
这个基本的python翻译器代码应该将字母中的每个元音翻译成G,它可以将元音翻译成g,但它只翻译2。如果我要写Ga,它会将它翻译成GG,但如果我输入嘉宝,它只会把它翻译成Gg。我究竟做错了什么?
def translate(phrase):
translation = ""
for letter in phrase:
if letter in phrase == "Aeiou" or "aeiou":
translation = translation + letter + 'g'
else:
translation = translation + letter
return translation
print(translate(input("Enter a phrase: ")))
解决方案
这是一个常见的错误。这是因为您未能检查第二个字符串的条件"aeiou"
。的第二个操作数or
不是布尔表达式,而是一个真值字符串。第一个字符串也必须是"AEIOU"
def translate(phrase):
translation = ""
for letter in phrase:
if letter in "AEIOU " or letter in "aeiou":
translation = translation + 'g'
else:
translation = translation + letter
return translation
推荐阅读
- objective-c - 如何使用 swift 检测 tvOS 是否越狱
- reporting-services - 在每个页面上重复整个 Tablix SSRS 报告
- python - Python - 在 DataFrame Apply 函数上添加 OR 运算符
- c++ - 为什么将 nullptr 作为 std::string 返回不是编译时错误?
- qt - 如何在 qml 中捕捉从虚拟键盘按下的 Key_Cancel?
- selenium - 我如何设置属性 strictFileInteractability
- mongodb - 允许用户在 MongoDB 中输入聚合管道时的安全性
- html - ForEach 在登录表单中无法正常工作?
- python-2.7 - 如何在python的get请求标头中设置cookie
- javascript - Nodejs-没有从成功的请求调用内部调用递归函数