Autor
|
Tema: [Python3] Ayuda contar numeros en string (Leído 3,828 veces)
|
reconFito
Desconectado
Mensajes: 31
|
Hola buenas a todos, molestaba a ver si me dan alguna de idea de como solucionar este ejercicio Debo de diseñar un programa que cuente la cantidad de numeros en una cadena, lo que he podido realizar hasta ahora es simplemente contar la cantidad de digitos que aparecen sin importar la cifra. Ejemplo 'un 1 dos 201 tres 3', con el codigo que realice me cuenta cinco digitos y no deberian de ser cinco sino 3. No se si me explico Gracias de antemano por su atención#Ejercicio#165 Contar cantidad de números en una cadena string = input("Digita una cadena: ") numbers = 0 for i in range(0,len(string)): if string[i].isnumeric(): numbers+=1 print("Cantidad de números encontrados => ",numbers)
MOD: Titulo modificado (mas descriptivo)
|
|
« Última modificación: 29 Diciembre 2019, 18:57 pm por MCKSys Argentina »
|
En línea
|
|
|
|
MCKSys Argentina
|
Hola! La cadena siempre tendrá el formato que has colocado? Osea, cada "item" estará separado por espacios? Si es así puedes usar str.split. Luego recorres cada item de la lista 1x1 y cuentas los numeros (str.isnumeric == True) Ahora, si los items no está separados siempre por espacio, se me ocurre que podrías ir char x char (como haces ahora), pero si isnumeric te da True, entonces empiezas a "armar" un numero. Mientras la función siga siendo True, sigues "creando" el número. Y cuando la función dé False, entonces terminas el ciclo de "creación" del numero (cuentas/muestras el numero creado y reseteas todo para poder hacer la "creación" nuevamente, en caso de que haya más numeros de varios chars). Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
reconFito
Desconectado
Mensajes: 31
|
Hola gracias por responder, en teoría la cadena siempre estará compuesta por espacios y referente a lo de utilizar la función split y luego recorrer la lista que me genera me parece buena idea, pero la verdad estoy retomando el aprender python y no quiero saltarme a utilizar cosas que aún no he visto, en el PDF, no sabras otra manera de hacerlo sin utilizar listas o funciones avanzadas.
Gracias de nuevo por responderme
|
|
|
En línea
|
|
|
|
engel lex
|
ciclo anindado...
en lugar de recorrer con un for a un range, recorre con un while y un contador tal que si consigues un numero, puedas hacer un ciclo dentro del ciclo hasta donseguir cualquier cosa que no sea numerico, en ese punto, sabes que ya tienes el numero completo
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
hola: no quiero saltarme a utilizar cosas que aún no he visto, en el PDF, no sabras otra manera de hacerlo sin utilizar listas o funciones avanzadas. ¿como adivinamos que has leído en el "PDF"? se puede con un poco de lógica usando lo que ya has hecho! El problema es que eso no está en lo que leas. string = input("Digita una cadena: ") numbers = 0 anterior = False for i in string:#no sé para que usaste len,range,etc. if i.isnumeric() and anterior == False: numbers+=1 anterior=True elif not i.isnumeric(): anterior=False print("Cantidad de números encontrados => ",numbers)
No importa el lenguaje que uses, en este caso python, sino como buscas la solución.
|
|
|
En línea
|
|
|
|
reconFito
Desconectado
Mensajes: 31
|
Gracias tincopasan por tu aporte, pero tengo una pregunta porqué en el código que hicistes evalua el primer digito del número total y el resto lo descarta.
Ejemplo: Si ingreso "12texto23", e imprimo el valor tomando en cuenta el primer condicional me imprime 1, 2 no imprime 12, 23.Solo es una duda que me queda, puede que la pregunta sea inncesaria ya que el problema está resuelto.
Gracias.
|
|
|
En línea
|
|
|
|
tincopasan
Desconectado
Mensajes: 1.286
No es lo mismo conocer el camino que recorrerlo.
|
hola: el código ya te dió la respuesta, descarta los otros porque son una molestia para el planteo que hiciste, con la unidad ya sobra para saber que es un número, sin importar la cantidad de unidades, o sea 1 es un número y 12547893 también, como no quiero que los identifique en sus unidades solo verifico que haya una letra. Es muy simple, deberías intentar entenderlo, solo leyendo el condicional justamente. Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con separar numeros de un string
PHP
|
landerzx
|
4
|
5,587
|
23 Noviembre 2012, 18:49 pm
por landerzx
|
|
|
Contar String
Java
|
Finishim
|
3
|
2,221
|
22 Mayo 2015, 06:28 am
por DarK_FirefoX
|
|
|
Duda en funciones python3 pasarle parametro tipo string
Scripting
|
DamnSystem
|
2
|
2,248
|
15 Diciembre 2016, 19:14 pm
por DamnSystem
|
|
|
Contar el periodo de caracteres en un String, PROLOG
Programación General
|
mitodb
|
2
|
3,431
|
27 Mayo 2018, 02:16 am
por mitodb
|
|
|
contar numeros de un numero
Programación C/C++
|
Beginner Web
|
5
|
3,163
|
18 Abril 2019, 16:03 pm
por CalgaryCorpus
|
|