所以我给出了一个我必须找到解决方案的问题。我的问题错了,但我想知道为什么正确的答案是正确的。有人可以为我解释以下代码的解决方案吗?
dog='Zoomie'
pattern=''
for letter in dog:
inPattern=False
if dog.count(letter)>1:
pattern+=letter
inPattern=True
if dog.count(letter)>0 and inPattern==False:
pattern+=letter
else:
pattern+='.'
输出为:Zo.o.mie
虽然这是一个非常简单和基本的Python问题,但它仍然让我感到困惑。
答案 0 :(得分:0)
该程序正在为整个字符串中出现一个或多个字母的任何字母添加点。
Z
没有大于1的字母数。inPattern
未设置,因此我们只需附加到pattern
。o
,因此我们将该字母附加到模式并将标记inPattern
设置为True
。由于inPattern
不是False
,我们会将.
附加到pattern
。其余的内容与此非常相似。
看看其他的词,比如“赛车”或“aplanamanacanalpanama”(两个明显的回文),看看你最终会得到什么。 (老实说,我希望[几乎]每个字母之间都有点。)