Código del ejercicio:
Definición de los códigos del ejercicio:
int() --> convierte el valor especificado en un número entero.input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
print() --> imprime un mensaje en la pantalla.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu código, todos los nombres de las variables serán remplazados con sus respectivos valores.
Explicación del Código:
Código Python
a = int(input("Ingrese un número natural: "))
b = int(input("Ingrese el dígito a eliminar: "))
r = 0
p = 1
while a > 0:
d = a % 10
if d != b:
r += d * p
p *= 10
a //= 10
if r == 0:
print("El resultado no tiene dígitos.")
else:
print(f"Resultado: {r}")
Explicación sencilla línea por línea
a = int(input("Ingrese un número natural: "))
Solicita al usuario un número natural y lo guarda en la variable a.
b = int(input("Ingrese el dígito a eliminar: "))
Pide el dígito que se desea eliminar del número ingresado y lo guarda en b.
r = 0
Crea la variable r, donde se irá formando el nuevo número sin el dígito eliminado.
p = 1
Inicializa la posición decimal. Empieza en 1 para colocar correctamente las unidades, decenas, centenas, etc.
while a > 0:
Repite el proceso mientras el número todavía tenga dígitos por revisar.
d = a % 10
Obtiene el último dígito del número usando el operador módulo (%).
if d != b:
Verifica si el dígito encontrado es diferente del que se quiere eliminar.
r += d * p
Si el dígito no debe eliminarse, se agrega al nuevo número respetando su posición.
p *= 10
Multiplica la posición por 10 para preparar el siguiente lugar decimal.
a //= 10
Elimina el último dígito del número original para continuar con el siguiente.
if r == 0:
Comprueba si el nuevo número quedó vacío (es decir, todos los dígitos fueron eliminados).
print("El resultado no tiene dígitos.")
Muestra un mensaje indicando que no quedó ningún dígito después de la eliminación.
else:
Si todavía quedaron dígitos, ejecuta la siguiente instrucción.
print(f"Resultado: {r}")
Muestra el nuevo número obtenido después de eliminar el dígito indicado.
¿Cómo funciona el algoritmo?
El programa recibe un número natural y un dígito que se desea eliminar. Luego revisa el número de derecha a izquierda, extrayendo un dígito en cada repetición.
Si el dígito es diferente al que se quiere eliminar, se agrega al nuevo número. Si es igual, simplemente se ignora.
Al finalizar, el programa muestra el número resultante sin las apariciones del dígito indicado. Si todos los dígitos fueron eliminados, informa que el resultado no tiene dígitos.
No hay comentarios.:
Publicar un comentario