首页 > 解决方案 > 为什么 if 语句只适用于“i”?

问题描述

我的工作是从输入到程序中的字符串中取出元音。我尝试对 for 循环中的每个元音使用 if 语句,但是,if 语句仅适用于某些元音。(不包括在内)

def disemvowel(string):
    for i in string:
        char = i.lower()
        rplce = string.replace(char, "")
        if char == "a":
            return rplce
        elif char == "e":
            return rplce
        elif char == "i":
            return rplce
        elif char == "o":
            return rplce
        elif char == "u":
            return rplce

我希望它用空字符串替换 if 语句中的元音,但是,由于某种原因,它只能与“i”一起使用。预期输出:“Ths wbst s fr lsrs LL!” 实际输出:“失败者的网站 LOL!” 输入:“这个网站是为失败者设计的,哈哈!”

标签: python-3.x

解决方案


通过使用 if 语句,您正朝着正确的方向前进,但是当您返回时,它会退出该函数。你正在做的是一个成熟的回报,导致你得到一个半处理的字符串。

尝试调查continue

vowels = ['a', 'e', 'i', 'o', 'u']
res = ""
for letter in word:
    if letter in vowels:
        continue
    res += letter
return res

推荐阅读