1

我正在阅读 Mark Pilgrim 的 Dive into Python 3 并且已经盯着这个大约一个小时了: http: //getpython3.com/diveintopython3/strings.html#common-string-methods

>>> s = '''Finished files are the re-
... sult of years of scientif-
... ic study combined with the
... experience of years.'''
>>> s.lower().count('f')
6

在给出的多行字符串示例中,我不明白为什么s.lower().count('f')返回 6 而不是 3。我已经确认它确实返回 6。当然,Pilgrim 甚至在他的笔记中指出它实际上是 6,但没有解释为什么。

有人可以帮我吗?谢谢!

4

4 回答 4

5

该声明中有 6 个 f。您可能不小心忽略了“of”。

(确实,这是一个 广为 流传的 脑筋急转弯)。

于 2012-05-04T18:23:00.943 回答
5

完成...文件...的...的...科学的...的...

于 2012-05-04T18:23:25.210 回答
4

这可能是一个有用的视觉效果。

六个f

于 2012-05-04T18:32:16.850 回答
2

完成的文件是多年科学研究结合多年经验的结果

'lower' 使得整个字符串都是小写的,因此请确保包含诸如“Finished”之类的内容。

于 2012-05-04T18:24:57.457 回答