为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

缥缈止盈 2021-10-10 16:35:34
我正在尝试制作一个有损文本压缩程序,但它在第 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 回答

?
长风秋雁

TA贡献1757条经验 获得超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.


查看完整回答
反对 回复 2021-10-10
  • 1 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信