Python 3を使用して、大きなバイナリセット内で最も長い連続した数字セットの開始点と終了点を見つけようとしています。現時点では、1と0の連続した最長の数を見つけました。今では、各番号の開始点と終了点がどこにあるかを見つける必要があります。これまでのところ、私のコードは次のとおりです。1のためにPythonで大規模なバイナリセット内の最も長い連続した数字セットの開始点と終了点を見つける
:
def getMaxSegmentLength(readable):
current_length = 0
max_length = 0
for x in readable:
if x == '1':
current_length += 1
else:
max_length = max(max_length, current_length)
current_length = 0
return max(max_length, current_length)
def main():
with open('C:/01.txt', 'r') as inputf:
s = inputf.read()
n = getMaxSegmentLength(s)
print("The longest streak of 1's = " + str(n))
if __name__ == '__main__':
main()
0の場合:
def getMaxSegmentLength(readable):
current_length = 0
max_length = 0
for x in readable:
if x == '0':
current_length += 1
else:
max_length = max(max_length, current_length)
current_length = 0
return max(max_length, current_length)
def main():
with open('C:/01.txt', 'r') as inputf:
s = inputf.read()
m = getMaxSegmentLength(s)
print("The longest streak of 0's = " + str(m))
if __name__ == '__main__':
main()
このコードは、中に含まれている非常に大きなバイナリセットに数字の最長の連続したセットを見つけました別のファイル。私はまた、0と1の数がどれくらいあるかを知っています。私は開始点と終了点を見つける次のステップを開始していません。
私はあなたが[列挙]を必要だと思います(https://docs.python.org/2.3/whatsnew/section-enumerate.html)。 –