我正在尝试制作一个有损的文本压缩程序,但是它在第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 + 1
text = "".join(text_list)
print(text)
答案 0 :(得分:1)
使用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.