首页 > 解决方案 > 为什么我的 elif 语句中的 replace 方法不能替换我试图在程序中替换的一个或多个字母?

问题描述

myWord=input("Enter a Word: ")

if len(myWord) <= 3 :
    print(myWord)
elif myWord[-3:] == 'ing':
    print(myWord)
elif myWord[-1:] == 'a' or 'e' or 'i' or 'o' or 'u':
    newWord = myWord.replace('a' or 'e' or 'i' or 'o' or 'u', "ing")
    print(newWord)

我正在开发一个程序,每当我输入一个小于 3 个单词并以元音结尾的单词时,它将用“ing”替换该元音。第三个“elif”语句是我遇到最多问题的地方,因为每当我运行程序并输入以元音结尾的单词时,它都不会用“ing”替换元音。

标签: pythonpython-3.x

解决方案


欢迎来到stackoverflow,myWord[-1:] == 'a' or 'e' or 'i' or 'o' or 'u':它不是你做的事情,恐怕它不会将myword [-1]与这五件事进行比较,而是进行比较然后做if 'a'这总是正确的。尝试

if myWord[-1:] in ['a', 'e', 'i', 'o', 'u']

同样在最后一个 elif 中,您不应使用 replace (这里的 or 结构也不正确),因为它替换了所有出现的,而不仅仅是最后一个。


推荐阅读