Ver Mensaje Individual
  #13 (permalink)  
Antiguo 22/04/2016, 14:43
firestyle
 
Fecha de Ingreso: abril-2016
Ubicación: Santiago
Mensajes: 1
Antigüedad: 8 años
Puntos: 0
Respuesta: invertir numeros en una función

Hola buenas, voy a resolver el problema.
Usando las propiedades que ya se han dicho:

Código Python:
Ver original
  1. 183 // 10 == 18
  2. 18 // 10 == 1
  3. 1 // 10 == 0

Código Python:
Ver original
  1. 183 % 10 == 3
  2. 18 % 10 == 8
  3. 1 % 10 == 1

Código Python:
Ver original
  1. x = 0
  2. x = 10 * x + 3 # 3
  3. x = 10 * x + 8 # 38
  4. x = 10 * x + 1 # 381

Entonces el código quedaría más o menos así:

Código Python:
Ver original
  1. def invertir():
  2.     a=int(input("Ingresar un Número: "))
  3.     x=0
  4.     z=len(str(a))
  5.     for i in range(z):
  6.         b=a%10
  7.         a=a//10
  8.         x=x*10+b
  9.     return x

Ojo, que si nuestro número termina en 0, hay un problema, porque 0*10+b=b, por lo que queda sin el 0. Si queremos arreglar este error, pasamos el valor a String:

Código Python:
Ver original
  1. def invertir():
  2.     a=int(input("Ingresar un Número: "))
  3.     x=0
  4.     y=(a%10==0)  #Aquí le damos el valor a la variable "y", True, o False, si el N° termina en 0.
  5.     z=len(str(a))
  6.     for i in range(z):
  7.         b=a%10
  8.         a=a//10
  9.         x=x*10+b
  10.     if y:
  11.         x=str(x)
  12.         x='0'+x
  13.     return x