SoloCodigo

Programación Web y Scripting => Python => Mensaje iniciado por: NeoCimek en Lunes 22 de Noviembre de 2010, 21:01

Título: Contar digitos de un entero
Publicado por: NeoCimek en Lunes 22 de Noviembre de 2010, 21:01
Hola soy nuevo en el Foro y en Python,

Estoy haciendo un programilla pero no consigo hacer que funcione... debe de contar los dígitos de un entero "n" A ver si me podéis ayudar en lo que falla.

Un saludo

c=0
n=input("Entra numero: ")
for i in n:
            if n==7:
                        c=c+1
                        n=n//7
            else:
                        c
print (c, " Digitos")
Título: Re: Contar digitos de un entero
Publicado por: m0skit0 en Lunes 22 de Noviembre de 2010, 21:38
¿7? ¿Por qué 7?
Título: Re: Contar digitos de un entero
Publicado por: NeoCimek en Lunes 22 de Noviembre de 2010, 21:49
Hola,

7, porque es el número que quiero que cuente del entero "n", No sé si me explico bien. Es decir que por ejemplo si el entero "n" entrado por teclado es 777347. Debería de contar 4, porque es el número de veces que aparece el 7.
Título: Re: Contar digitos de un entero
Publicado por: ososo86 en Lunes 22 de Noviembre de 2010, 22:48
mira si bien entiendo tu kieres que el usuario te ingrese un entero y de ese entero solo kieres que cuente los numero iguales a 7.
si ese es el caso debes tranformar tu entero a una cadena con str(el_entero) en el ciclo for y luego compararlo pero como un entero int(ca_cadena).
seria algo asi
Código: Python
  1.  
  2.     c=0
  3.     n=input("Entra numero: ")
  4.     for i in str(n):
  5.         if int(i) == 7:
  6.             c = c + 1
  7.             n=n //esto estaría demas
  8.     print (c, " Digitos")
  9.  
  10.  

Espero te sirva.
Adios
 :good:
Título: Re: Contar digitos de un entero
Publicado por: NeoCimek en Lunes 22 de Noviembre de 2010, 22:53
Ok, muchas gracias, me sirve ^_^. Ya puestos ¿es posible hacer lo mismo sin poner el "for"?