elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] - Cantidad de Dígitos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] - Cantidad de Dígitos  (Leído 15,098 veces)
ChicoMaravilla

Desconectado Desconectado

Mensajes: 61



Ver Perfil
[Python] - Cantidad de Dígitos
« en: 6 Diciembre 2010, 19:37 pm »

No entiendo el ejercicio numero 173, que indica que tengo que diseñar un programa que muestre la cantidad de dígitos que ingresó el usuario anteriormente. y un ejemplo que nos da es: La cadena "un 1 y un 20", tienen 3 dígitos: un 1, un 2 y un 0

la cosa que no entiendo, es como se simboliza a los números, que tipo de datos son . comprendo que los números enteros se representan con "int", los flotantes con "float" y en caso de redondear "round". Bueno yo lo que hago es lo siguiente:

Código
  1. print """
  2.         *******************************
  3.         *           DIGITOS           *
  4.         *******************************"""
  5. cadena=raw_input("Escribe una frase: ")
  6. while cadena!="":
  7.    digitos=0
  8.    for numero in cadena:
  9.            if numero==int:
  10.                digitos += 1
  11.    print cadena
  12.    print "Digitos: ",digitos
  13.    cadena=str(raw_input("Escribe una frase: "))

el problema es que me aparece como dígitos :0 en todas las posibilidades. Y trato de cambiarlo probando diferentes cosas, pero me dan resultados que no son deseados. Si alguno me podría ayudar, desde ya le doy las gracias  >:(


En línea

Dnk!

Desconectado Desconectado

Mensajes: 38



Ver Perfil WWW
Re: [Python] - Cantidad de Dígitos
« Respuesta #1 en: 6 Diciembre 2010, 20:19 pm »

Una pista, prueba con esto. Piensa que en unicode los caracteres se encuentran ordenados.

Código
  1. if numero>='0' and numero<='9':
  2.  

xDnk!


En línea




Comentar es agradecer.
Visita Mi Blob
ChicoMaravilla

Desconectado Desconectado

Mensajes: 61



Ver Perfil
Re: [Python] - Cantidad de Dígitos
« Respuesta #2 en: 6 Diciembre 2010, 20:58 pm »

Es verdad!!! no me di cuenta, muchicimas gracias  ;-)
En línea

ChicoMaravilla

Desconectado Desconectado

Mensajes: 61



Ver Perfil
Re: [Python] - Cantidad de Dígitos
« Respuesta #3 en: 7 Diciembre 2010, 00:28 am »

Revivo este tema, para no hacer otro post, ya que esta pregunta tiene similitudes con el ejercicio anterior.
Busque en google y en el foro, pero no encontré que hallan puesto este ejercicio, a lo que no encontré otro medio para averiguar esto...

Bueno ahora me pide que modifique el programa para que en vez de dígitos, registre números, es decir, conjuntos de dígitos agrupados de tal forma que son números,

por ejemplo que en la cadena de texto:"2, 20, 200, son pares"
identifique como números: 3

yo lo que voy haciendo es:

Código
  1. print """
  2.         *******************************
  3.         *           NUMEROS           *
  4.         *******************************"""
  5. cadena=raw_input("Escribe una frase: ")
  6. while cadena!="":
  7.    digitos=0
  8.    anterior=0
  9.    for numero in cadena:
  10.        if numero>='0' and numero<='9':
  11.            digitos +=1
  12.        if numero in cadena[len(numero)-1]>='0' and numero<='9':
  13.            anterior+=1
  14.  
  15.  
  16.    total=digitos-anterior
  17.    print cadena
  18.    print "NUMEROS: ",total
  19.    cadena=raw_input("Escribe una frase: ")

Quiero que lea si hay uno anterior antes del numero, pero me resulta muy difícil, no es por parte de falta de estudio que hago esta preguntas, no especifica bien como hacer y nos deja que rasonamos el libro, pero me resulta muy complicado.

O cea mi pregunta es, como hago para hallar la ubicación de delante o atrás de cierto carácter.

PD: perdonen por el doble post
« Última modificación: 7 Diciembre 2010, 00:34 am por lucas_solymar » En línea

lnvisible


Desconectado Desconectado

Mensajes: 527



Ver Perfil
Re: [Python] - Cantidad de Dígitos
« Respuesta #4 en: 7 Diciembre 2010, 02:31 am »

Las dos funciones que quieres:

Código
  1. from re import findall
  2. def digitos(s): return len(findall('\d', s))
  3. def numeros(s): return len(findall('\d+', s))

Las expresiones regulares son muy útiles, perl es interesante, a lo mejor después de aprender python: http://foro.elhacker.net/scripting/python_objetos_que_se_guardan_y_cargan_solos-t313111.0.html ¿una ayudita?  ;D

Si quieres seguir como los estas haciendo pon un booleano para saber si el anterior caracter era digito o no, y segun eso sumas uno a la cuenta o no.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
(Python)Existen ventanas de entrada y salida de datos en python « 1 2 »
Scripting
tonilogar 11 16,254 Último mensaje 29 Noviembre 2009, 00:49 am
por tonilogar
[Código] Calcular cantidad de neutrones en un átomo [Python]
Scripting
@Sthéfano 0 3,363 Último mensaje 26 Julio 2010, 22:28 pm
por @Sthéfano
[Solucionado] Establecer la cantidad de dígitos a la derecha de la coma [C] « 1 2 3 »
Programación C/C++
NOB2014 26 9,701 Último mensaje 31 Enero 2016, 04:39 am
por furciorifa
limitando cantidad de digitos en jtextfield Netbeans
Java
jelsir 3 3,232 Último mensaje 30 Julio 2016, 22:41 pm
por Once
(Python) Eliminar digitos
Scripting
BigKaz 2 3,570 Último mensaje 26 Noviembre 2016, 01:27 am
por tincopasan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines