【发布时间】:2013-09-17 13:07:02
【问题描述】:
假设用户输入:
"daslakndlaaaaajnjndibniaaafijdnfijdnsijfnsdinifaaaaaaaaaaafnnasm"
您将如何找到最多的连续“a”以及如何删除“a”并仅保留其中 2 个而不是之前的大量。
我正在考虑将每个字母附加到一个新的空列表中,但我不确定这是否正确或之后该怎么做。
我真的不知道从哪里开始,但这就是我的想法:
- 要求用户输入。
- 创建一个空列表
- 将输入中的每个字母附加到列表中
我不知道接下来会发生什么。
第二次编辑(类似这些方面):
sentence = input("Enter your text: ")
new_sentance = " ".join(sentence.split())
length = len(new_sentance)
alist = []
while (length>0):
alist
print ()
【问题讨论】:
-
这是一个非常巧妙的问题。它只需要一个更好的标题。我认为您想使用 正则表达式 xkcd.com/208
-
要获得最大数量,您可以使用
max(len(s) for s in re.findall(r'a+', inputString))。要将所有出现的超过 2 个“a”替换为 2 个“a”,您可以使用:output = re.sub(r'a{3,}', "aa", inputString)。 -
这是一个相当有趣的问题。但是你真的应该发布一个尝试,这样你就可以证明更多的重新投票是合理的
-
我现在有一个解决方案给你。请发布尝试,以便更多用户有动力投票重新开放,以便我可以实际发布我为您提供的解决方案
-
只需编写执行上述步骤 1-3 的代码即可。你不必展示一个完整的解决方案,你只需要展示对问题的最低限度的理解。在代码中。
标签: python sorting python-3.x count