Python的概念帮助

2024-04-20 16:39:10 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个问题,我必须找到解决办法。我把问题弄错了,但我想知道为什么正确答案是对的。有人能为我解释一下下面代码的解决方案吗?你知道吗

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问题,但对我来说还是有点困惑。你知道吗


Tags: 答案代码infalsetrueforifcount
1条回答
网友
1楼 · 发布于 2024-04-20 16:39:10

程序正在为整个字符串中出现一次或多次的任何字母添加点。你知道吗

  • 在第一次传递时,Z没有大于1的字母计数。inPattern未设置,因此我们只需附加到pattern。你知道吗
  • 在第二个过程中,o出现了不止一次,因此我们将字母附加到模式中,并将标志inPattern设置为True。因为inPattern不是False,所以我们需要将.附加到pattern。你知道吗

其余的读起来与此非常相似。你知道吗

看看其他单词,比如“racecar”或“aplanamanacanalama”(两个明显的回文),看看你会得到什么。(老实说,我希望几乎每封信之间都有点。)

相关问题 更多 >