def ff_cal_char_rept0(st, n): times = 0 flag = False for i in range(0, len(st)): if i == 0: times = 1 else: if st[i - 1] != st[i]: times = 1 else: times += 1 if times == n: flag = True break return flagdef ff_cal_char_rept1(st, n): times = 1 for i in range(1, len(st)): times = 1 if st[i - 1] != st[i] else times + 1 if times == n: return True return Falsedef ff_cal_char_rept2(st, n): st_ = set(st) if len(st) - len(st_) < n-1: return False for i in st_: if i*n in st: return True return Falsem1 = '888888881'm2 = '123456789'm3 = '888888811'm4 = '123123'm5 = 'ININININININININININIII'm6 = m5*10m7 = '888888878'm8 = 'QWERTYUIOP_*&^%$#@!ASDFGH)ZXCVBNMLKJ'm9 = '88888888888'm = [m1, m2, m3, m4, m5, m6, m7, m8, m9]for i in m: print(i+':') %time ff_cal_char_rept0(i, n=8) %time ff_cal_char_rept1(i, n=8) %time ff_cal_char_rept2(i, n=8) print(ff_cal_char_rept0(i, n=8), ff_cal_char_rept1(i, n=8), ff_cal_char_rept2(i, n=8)) print('\n')# 全面测试"""888888881:CPU times: user 8 µs, sys: 2 µs, total: 10 µsWall time: 14.1 µsCPU times: user 7 µs, sys: 1e+03 ns, total: 8 µsWall time: 11.9 µsCPU times: user 8 µs, sys: 0 ns, total: 8 µsWall time: 12.2 µsTrue True True123456789:CPU times: user 17 µs, sys: 3 µs, total: 20 µsWall time: 19.3 µsCPU times: user 0 ns, sys: 11 µs, total: 11 µsWall time: 33.1 µsCPU times: user 8 µs, sys: 1 µs, total: 9 µsWall time: 14.1 µsFalse False False888888811:CPU times: user 9 µs, sys: 1 µs, total: 10 µsWall time: 16.2 µsCPU times: user 9 µs, sys: 2 µs, total: 11 µsWall time: 15 µsCPU times: user 7 µs, sys: 0 ns, total: 7 µsWall time: 11.2 µsFalse False False123123:CPU times: user 6 µs, sys: 1 µs, total: 7 µsWall time: 10.5 µsCPU times: user 7 µs, sys: 0 ns, total: 7 µsWall time: 10 µsCPU times: user 5 µs, sys: 1 µs, total: 6 µsWall time: 9.78 µsFalse False FalseININININININININININIII:CPU times: user 8 µs, sys: 1 µs, total: 9 µsWall time: 13.1 µsCPU times: user 7 µs, sys: 1 µs, total: 8 µsWall time: 11.7 µsCPU times: user 7 µs, sys: 0 ns, total: 7 µsWall time: 10.7 µsFalse False FalseININININININININININIIIININININININININININIIIININININININININININIIIININININININININININIIIININININININININININIIIININININININININININIIIININININININININININIIIININININININININININIIIININININININININININIIIININININININININININIII:CPU times: user 34 µs, sys: 0 ns, total: 34 µsWall time: 37 µsCPU times: user 25 µs, sys: 5 µs, total: 30 µsWall time: 33.9 µsCPU times: user 0 ns, sys: 10 µs, total: 10 µsWall time: 14.1 µsFalse False False888888878:CPU times: user 6 µs, sys: 1 µs, total: 7 µsWall time: 11.7 µsCPU times: user 6 µs, sys: 1 µs, total: 7 µsWall time: 10.7 µsCPU times: user 7 µs, sys: 0 ns, total: 7 µsWall time: 10.7 µsFalse False FalseQWERTYUIOP_*&^%$#@!ASDFGH)ZXCVBNMLKJ:CPU times: user 11 µs, sys: 2 µs, total: 13 µsWall time: 16.7 µsCPU times: user 11 µs, sys: 0 ns, total: 11 µsWall time: 14.5 µsCPU times: user 8 µs, sys: 1 µs, total: 9 µsWall time: 12.4 µsFalse False False88888888888:CPU times: user 6 µs, sys: 1 µs, total: 7 µsWall time: 11 µsCPU times: user 0 ns, sys: 7 µs, total: 7 µsWall time: 10.7 µsCPU times: user 6 µs, sys: 1 µs, total: 7 µsWall time: 10.5 µsTrue True True"""