2012-05-04 30 views
1

我阅读Mark Pilgrim的深入Python 3,并已在这个现在凝视了大约一个小时:http://getpython3.com/diveintopython3/strings.html#common-string-methodsPython的String类计数()方法

>>> 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.当然,朝圣者甚至在他的笔记中指出它实际上是6,但并不能解释为什么。

有人可以帮我吗?谢谢!

+2

四个答案?和12总upvotes? (至今)。为了数f? – alan

+0

我会让你高兴,@alan! –

回答

5

在该陈述中有6个f。你可能会无意中忽略了“的”。

(确实,这是awidelycirculatedbrainteaser)。

+1

你是对的!这是一个什么样的思想。 –

+0

我的意思是,通常我会承认只是一个白痴,但朝圣者的评论,使得它看起来像许多人不会计算“的”... –

+2

“的”中的“f”听起来像“v”,所以如果你通过他们的声音在精神上文字(多数人),你会想念他们。 – kindall

5

成品...文件... ...的...的...科学的...

2

˚F inished ˚F尔斯是结果Ø˚F年Øf scienti f ic study结合经验o f年。

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

4

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

Six f's

相关问题