Вы должны сделать это:
инициализировать newstr
до c
, а затем
for x in c.lower():
if x in vowels:
newstr = newstr.replace(x, "")
Это потому, что str.replace(old, new[, max])
возвращает копию строки после замены символы:
Метод replace () возвращает копию строки, в которой вхождения старых были заменены на новые, опционально ограничивая количество замен до макс.
< / blockquote>Итак, это правильный код:
def anti_vowel(c): newstr = c vowels = ('a', 'e', 'i', 'o', 'u') for x in c.lower(): if x in vowels: newstr = newstr.replace(x,"") return newstr
Вы также можете сделать это более питоническим способом:
''.join([x for x in c if x not in vowels])