Python - Ayuda para contar

 
Vista:
sin imagen de perfil

Ayuda para contar

Publicado por anonymous (38 intervenciones) el 09/06/2021 22:15:41
Si tengo el siguiente outpu; BB_ZZ_TTTT_ZTBT_BBBB_ZZZ_BB_TZTBZB_ZZ_T pero ahora quiero contar las letras que están juntas, en este caso BB_ZZ_TTTT_BBBB_ZZZ_BB_ZZ, sin contar la ultima T puesto que esta no tiene ninguna otra letra igual, como lo podría hacer, en este caso serian 19 letras en bloque y 11 mixtas, necesito su ayuda con urgencia, desde ya muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de bl4ckdrvg0n
Val: 425
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda para contar

Publicado por bl4ckdrvg0n (108 intervenciones) el 10/06/2021 02:58:51
Hola, una solución puede ser la siguiente:
1
2
3
cadena = 'BB_ZZ_TTTT_ZTBT_BBBB_ZZZ_BB_TZTBZB_ZZ_T'
x = sum(len(s) for s in cadena.split('_') if len(s) > 1 and len(set(s)) == 1)
print(x) # 19
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de bl4ckdrvg0n
Val: 425
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda para contar

Publicado por bl4ckdrvg0n (108 intervenciones) el 10/06/2021 03:03:07
1
2
3
4
5
6
7
8
9
10
cadena = 'BB_ZZ_TTTT_ZTBT_BBBB_ZZZ_BB_TZTBZB_ZZ_T'
letras_bloque = 0
letras_mixtas = 0
for s in cadena.split('_'):
    if len(s) > 1 and len(set(s)) == 1:
        letras_bloque += len(s)
    else:
        letras_mixtas += len(s)
print(letras_bloque) # 19
print(letras_mixtas) # 11
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de bl4ckdrvg0n
Val: 425
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda para contar

Publicado por bl4ckdrvg0n (108 intervenciones) el 10/06/2021 03:03:46
1
2
3
4
5
6
7
8
9
10
cadena = 'BB_ZZ_TTTT_ZTBT_BBBB_ZZZ_BB_TZTBZB_ZZ_T'
letras_bloque = 0
letras_mixtas = 0
for s in cadena.split('_'):
    if len(s) > 1 and len(set(s)) == 1:
        letras_bloque += len(s)
    else:
        letras_mixtas += len(s)
print(letras_bloque) # 19
print(letras_mixtas) # 11
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar