Código del ejercicio:
Definición de los códigos del ejercicio:
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.
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.
len() --> devuelve el número de elementos de un objeto.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
and --> devuelve True si ambos operandos son verdaderos.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
print() --> imprime un mensaje en la pantalla.
Explicación del Código:
Este programa permite ingresar un texto y un carácter. Luego recorre toda la cadena y elimina la primera aparición consecutiva del carácter indicado, guardando el resultado en una nueva cadena. Finalmente muestra el texto sin ese carácter.
Código
s = input("Ingrese un texto: ")
e = input("Ingrese un carácter a eliminar: ")
aux = ""
i = 0
sw = 0
while i < len(s):
if s[i] == e and sw == 0:
sw = 1
else:
aux += s[i]
sw = 0
i += 1
print(aux)
Explicación del código
| Código | Explicación |
|---|---|
s = input("Ingrese un texto: ") |
Solicita al usuario que escriba una cadena de texto y la guarda en la variable s. |
e = input("Ingrese un carácter a eliminar: ") |
Pide el carácter que se desea eliminar del texto. |
aux = "" |
Crea una cadena vacía donde se irá formando el nuevo texto sin el carácter eliminado. |
i = 0 |
Inicializa el contador que recorrerá cada posición de la cadena. |
sw = 0 |
Es una bandera que indica si el carácter ya fue eliminado. Al inicio vale 0 porque aún no se ha eliminado ninguno. |
while i < len(s): |
Recorre toda la cadena desde el primer hasta el último carácter. |
if s[i] == e and sw == 0: |
Comprueba si el carácter actual es igual al que se quiere eliminar y además verifica que todavía no se haya eliminado uno anteriormente. |
sw = 1 |
Marca que el carácter ya fue eliminado, por lo que no se agrega a la nueva cadena. |
else: |
Se ejecuta cuando el carácter no debe eliminarse. |
aux += s[i] |
Agrega el carácter actual a la nueva cadena. |
sw = 0 |
Reinicia la bandera para permitir eliminar nuevamente si aparece otra secuencia del carácter. |
i += 1 |
Avanza a la siguiente posición de la cadena. |
print(aux) |
Muestra el texto final después de eliminar el carácter. |
Funcionamiento paso a paso
- El usuario escribe un texto.
- Después ingresa el carácter que desea eliminar.
- El programa recorre el texto letra por letra.
- Cuando encuentra el carácter indicado por primera vez, no lo copia a la nueva cadena.
- Los demás caracteres sí se copian normalmente.
- Al finalizar, muestra el texto resultante.
Ejemplo de ejecución
Ingrese un texto: programación
Ingrese un carácter a eliminar: a
Resultado:
progrmción
Resumen
Este programa utiliza un ciclo while para recorrer una cadena carácter por carácter. La variable aux almacena el nuevo texto y la variable sw funciona como una bandera para controlar cuándo debe omitirse el carácter que se desea eliminar. Finalmente, se imprime la cadena resultante.
No hay comentarios.:
Publicar un comentario