python - 如何在 python 2.7 中打印 1 的最大连续出现次数?

标签 python regex python-2.7 binary

<分区>

任务是从用户那里获取一个整数输入,将其转换为二进制并打印二进制表示中 1 的最大连续出现次数。

这是我的代码:

import re
x = int(raw_input())
y = bin(x)[2:]
print "Binary of", x, "is =",y
count = 0
for i in re.findall('11', y):
    count =+ 1
print "Nb of consecutive 1's =",  count

我输入 13,这是我得到的输出:

Binary of 13 is = 1101
Nb os consecutive 1's = 1

我应该得到 Nb 个连续的 1 = 2。

我做错了什么?

最佳答案

你应该这样做:

get_num_ones = re.findall(r"1+", y)
print "Maximum Nb of consecutive 1's =", len(max(get_num_ones, key=len))

我在这里做的是获取二进制字符串中所有可能的连续 1,然后我选择长度最长的字符串。

关于python - 如何在 python 2.7 中打印 1 的最大连续出现次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42288804/

相关文章:

Python - 考虑到官方定义 Numpy 应该是一个模块

python - 如何使用字典功能?

javascript - 如何根据子字符串数组上的字符串匹配查找 Mongoose 文档

Python 2.7 正则表达式捕获组未按预期工作

regex - 替换给定 unicode 字符串中的所有表情符号

python-2.7 - Python导入错误: pyqtconfig

python - 将一个类标记为抽象类而不定义任何抽象方法

python - 保存动画时未清除前一帧

Python - 正则表达式查找字符串中的所有匹配项并替换

javascript - javascript中具有特定长度的货币的正则表达式