Python - No encuentro el problema

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

No encuentro el problema

Publicado por Juan Carlos (6 intervenciones) el 20/11/2016 05:29:46
Hola buenas tengo que realizar un problema para clase que es el siguiente:

Escribe un programa que lea repetidamente líneas de texto y escriba, tras cada lectura, cu´antas secuencias de dígitos consecutivos encuentra en la correspondiente línea. El programa debe despedirse y finalizar su ejecución tras la primera cadena vacía leída.

He escrito el siguiente codigo en python (os dejo al foto adjunta).

asdasd


Y el programa me cuenta todos los carácteres que hay en la cadena en vez de cada secuencia, ¿alguien tiene alguna idea de porque? Gracias de antemano.
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 xve
Val: 1.477
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

No encuentro el problema

Publicado por xve (1637 intervenciones) el 20/11/2016 12:03:52
Podrías pegar el código para probarlo?
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
sin imagen de perfil
Val: 4
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

No encuentro el problema

Publicado por Juan Carlos (6 intervenciones) el 20/11/2016 15:58:47
Si, aquí lo tienes (lo único que no se tabula, no entiendo el porque):


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def contar_secuencias_de_dígitos(cadena):
    cont=0
    el_primero=True
    for i in cadena:
        if el_primero== True:
            if i < "0" or i > "9":
                cont+=1
            el_primero=False
        else:
            if anterior >= "0" or anterior <= "9":
                if i < "0" or i > "9":
                    cont+=1
 
        anterior=i
 
    return cont
 
print("Ve introduciendo cadenas de caracteres, o vacío para acabar...")
cadena=input("Nueva cadena: ")
 
while cadena != "":
    secuencias_totales=contar_secuencias_de_dígitos(cadena)
    print("Secuencias de dígitos encontradas: {0}".format(secuencias_totales))
    cadena=input("Nueva cadena: ")
 
print("¡Adiós!")
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 xve
Val: 1.477
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

No encuentro el problema

Publicado por xve (1637 intervenciones) el 20/11/2016 19:42:00
Hola Juan Carlos, exactamente a que se refiere con "secuencias de dígitos consecutivos"?

entiendo que lo que tiene que hacer es contar los valores repetidos consecutivos en una cadena, ya sean numero o letras, no?
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
sin imagen de perfil
Val: 4
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

No encuentro el problema

Publicado por Juan Carlos (6 intervenciones) el 20/11/2016 20:23:28
A ver por ejemplo, la cadena: "jd893pl34.8dj" Debe dar como resultado 3, por "893" el "34" y "8".

Es decir cuantas secuencias de dígitos hay en la cadena que se le pasa. Tiene que contar cuantas veces hay cualquier cosa que sea un digito pero como secuencia el "893" de antes cuenta como 1 no como 3.

Te dejo un ejemplo de ejecución correcta del programa:

Nueva cadena: 2, 3, 5, 7, 11...
Secuencias de dígitos encontradas: 5
Nueva cadena: 12481632641282565121024
Secuencias de dígitos encontradas: 1
Nueva cadena: 000123456789X1112y13
Secuencias de dígitos encontradas: 3
Nueva cadena: xx12345007+23/(4-hola*4ever)
Secuencias de dígitos encontradas: 4
Nueva cadena:
¡Adi´os!
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
sin imagen de perfil
Val: 4
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

No encuentro el problema

Publicado por Juan Carlos (6 intervenciones) el 20/11/2016 20:45:15
Vale, ya esta solucionado, me faltaba añadir el and en la condicion de si la actual i era un número o no y cambiar los <= por > y a la inversa ya quew estaba contando las letras no los numeros.

Gracias pro la atención igualmente :)
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 xve
Val: 1.477
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

No encuentro el problema

Publicado por xve (1637 intervenciones) el 20/11/2016 21:27:53
Gracias por comentarlo Juan Carlos!!
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