我正在嘗試制作一個有損文本壓縮程序,但它在第 7 行為unsupported operand type(s) for -: 'str' and 'int'. 我想要做的是從文本中刪除所有元音,除了單詞第一個字母的元音。text = str(input('Message: '))text = (' ' + text)listtext = list(text)for i in listtext[1:]: #trying to start for loop at index 1, i.e. skipping the first index, does this work? if i == 'a' or i == 'e' or i == 'i' or i == 'o' or i == 'u': if listtext[i-1] == ' ': #line 7 i = i + 1 else: listtext[i] = '' i = i + 1text = "".join(text_list)print(text)
1 回答

長風(fēng)秋雁
TA貢獻(xiàn)1757條經(jīng)驗 獲得超7個贊
這個問題可以用 RegEx 輕松解決。嘗試這個:
import re
text = ' ' + input('Message: ')
text = re.sub(r'(?<! )[aeiouAEIOU]', '', text)[1:]
print(text)
例子:
Message: Aaaa. Foo bar baz. An apple.
A. F br bz. An appl.
添加回答
舉報
0/150
提交
取消