所以这是一个问题:
编写一个程序来读取多行文本,并计算在 e 之前(除了 c 之后)规则 i 被破坏的单词数,以及包含 ei 或 ie 且不违反规则的单词数。
对于这个问题,我们只关心 c 是否是紧接在 ie 或 ei 之前的字符。所以科学算作违反规则,但恶作剧不会。如果一个词违反了规则两次(如 obeisancies),那么它仍然应该只计算一次。
给出的例子:
Line: The science heist succeeded Line: challenge accepted Line: Number of times the rule helped: 0 Number of times the rule was broken: 2
和我的代码:
rule = []
broken = []
line = None
while line != '':
line = input('Line: ')
line.replace('cie', 'broken')
line.replace('cei', 'rule')
line.replace('ie', 'rule')
line.replace('ei', 'broken')
a = line.count('rule')
b = line.count('broken')
rule.append(a)
broken.append(b)
print(sum(a)); print(sum(b))
我如何修复我的代码,像问题想要的那样工作?