所以我有一个问题,我必须找到解决办法。我把问题弄错了,但我想知道为什么正确答案是对的。有人能为我解释一下下面代码的解决方案吗?你知道吗
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问题,但对我来说还是有点困惑。你知道吗
程序正在为整个字符串中出现一次或多次的任何字母添加点。你知道吗
Z
没有大于1的字母计数。inPattern
未设置,因此我们只需附加到pattern
。你知道吗o
出现了不止一次,因此我们将字母附加到模式中,并将标志inPattern
设置为True
。因为inPattern
不是False
,所以我们需要将.
附加到pattern
。你知道吗其余的读起来与此非常相似。你知道吗
看看其他单词,比如“racecar”或“aplanamanacanalama”(两个明显的回文),看看你会得到什么。(老实说,我希望几乎每封信之间都有点。)
相关问题 更多 >
编程相关推荐