为什么我的elif语句中的replace方法不能替换程序中要替换的字母?

时间:2018-09-14 05:32:50

标签: python python-3.x

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”代替元音。

1 个答案:

答案 0 :(得分:0)

欢迎来到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']

在最后一个省略号中,您也不应使用replace(并且此处的or-结构也不正确),因为它会替换所有出现的内容,而不仅仅是最后一个。