不支持的操作数类型+更多问题(最有可能)

2024-10-03 02:38:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图制作一个有损文本压缩程序,但它在第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)

Tags: orandtext文本程序forindexif
1条回答
网友
1楼 · 发布于 2024-10-03 02:38:43

使用正则表达式可以很容易地解决这个问题。试试这个:

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.

相关问题 更多 >