Alexander Iglesias Montalvo
let phrase: String = "Hello, World!"
let phrase2: String = "Hello, World!"
var isEqual: Bool = phrase.elementsEqual(phrase2)
if (isEqual) {
print("Equal")
} else {
print("Not Equal")
}
Julian Rique
Usando tipos, muy bien
Aprender condicionales en Swift es el segundo pilar para programar con lógica real. Aquí descubrirás cómo usar if, else y else if para que tu código tome decisiones según los datos que recibe, con un ejemplo práctico de notas escolares que vamos complejizando paso a paso.
Esto te sirve si estás empezando con Swift en Xcode y quieres entender cómo evaluar condiciones, combinar variables y construir flujos lógicos sin perderte en la sintaxis.
Cómo se escribe un condicional en Swift
La estructura básica arranca con la palabra if, seguida de la condición que quieres evaluar y un bloque entre llaves con el código que se ejecuta si esa condición se cumple. Si no se cumple, agregas else con otro bloque de respaldo [00:48].
swift if condicion { // se ejecuta si la condición es verdadera } else { // se ejecuta si la condición es falsa }
La lógica es simple: el programa pregunta, recibe un sí o un no, y actúa en consecuencia. Y aquí viene lo interesante: lo que define el sí o el no son los operadores de comparación.
¿Qué hace un condicional en programación? Permite que tu código ejecute un bloque u otro según se cumpla o no una condición. Es la forma en que un programa toma decisiones.
Qué operadores puedo usar para comparar valores
Swift te da un set de operadores matemáticos y lógicos para evaluar variables. Si declaras let nota = 3, puedes preguntarte muchas cosas sobre ese valor [01:30]:
> mayor que. Nota mayor a 3: el 3 no entra porque es igual, no mayor.>= mayor o igual que. Aquí el 3 sí cumple.< menor que. El 3 no es menor a 3.<= menor o igual que. El 3 sí cumple.== igual a. Doble signo igual, porque uno solo es asignación, no comparación.!= diferente de. El signo de exclamación denota negación.Un detalle clave: cuando quieres comparar igualdad, siempre usas ==. Si pones un solo =, Swift lo entiende como una asignación y rompe la lógica.
Cómo aplicar condicionales a un caso real con notas
Imagina que quieres avisarle a un estudiante si pasó un examen. Defines let nota = 3 y evalúas si es mayor o igual a 3 [04:30]:
swift if nota >= 3 { print("Felicidades, pasaste el examen") } else { print("Lo siento, nos veremos el próximo semestre") }
Con una nota de 3, el programa imprime Felicidades. Con un 2.9, cae en el else. Esa décima cambia todo, y así es como un condicional refleja decisiones reales en código.
Cómo combinar varias condiciones con OR y AND
La cosa se pone interesante cuando agregas más variables. Supón que el estudiante pudo ser eximido porque presentó un proyecto previo, lo que significa que pasa sin importar la nota [05:50].
Usas el operador || (OR) para decir se cumple una o la otra:
swift if eximido || nota >= 3 { print("Felicidades, pasaste el examen") }
Ahora suma una tercera variable: siPresento. La presentación al examen es obligatoria, sin importar lo demás. Aquí entra && (AND), que exige que ambas partes se cumplan [07:25]:
swift if (eximido || nota >= 3) && siPresento { print("Felicidades, pasaste el examen") } else { print("Lo siento, nos veremos el próximo semestre") }
Los paréntesis agrupan la primera evaluación para que Swift la lea como una sola unidad antes de combinarla con la condición de presentación.
Cuándo usar else if para condicionales complejos
Los condicionales simples solo tienen dos caminos: se cumple o no se cumple. Pero a veces necesitas evaluar varios rangos en secuencia, y ahí entra else if [09:40].
Siguiendo con el ejemplo de notas, puedes dar feedback distinto según el rango:
swift let nota2 = 4
if nota2 >= 0 && nota2 < 2 { print("Te fue muy mal en el examen") } else if nota2 >= 2 && nota2 < 3 { print("Lo siento, estuvo cerca") } else if nota2 >= 3 && nota2 < 4 { print("Pasaste, pero lo puedes hacer mejor") } else if nota2 >= 4 && nota2 <= 5 { print("Felicidades") } else { print("Hay un error en el sistema") }
Fíjate en cómo cada rango incluye su límite inferior con >= y excluye el superior con <, para que ningún número quede en dos categorías a la vez. El else final atrapa cualquier valor fuera del rubro 0 a 5, como un 6, que indicaría un error.
¿Cuál es la diferencia entre else y else if?
elsese ejecuta cuando ninguna condición previa se cumple, sin evaluar nada más.else ifagrega una condición adicional que solo se revisa si las anteriores fallaron.
Por qué usar let en vez de var en condicionales
A lo largo del ejercicio, las variables se declaran con let porque no se modifican después [12:30]. let define constantes, var define variables mutables. Si sabes que un valor no va a cambiar durante la ejecución, let es la opción correcta y deja tu código más claro.
¿Cuándo uso let y cuándo var en Swift? Usa
letpara valores que no cambian después de asignarse yvarpara los que sí necesitas modificar más adelante.
Reto para practicar condicionales con strings
Ahora te toca a ti. ¿Cómo evaluarías la igualdad entre dos strings en Swift, por ejemplo para saber si dos frases son iguales? Déjame en los comentarios tu solución y cuéntame qué dificultades encontraste al intentarlo.
Alexander Iglesias Montalvo
let phrase: String = "Hello, World!"
let phrase2: String = "Hello, World!"
var isEqual: Bool = phrase.elementsEqual(phrase2)
if (isEqual) {
print("Equal")
} else {
print("Not Equal")
}
Julian Rique
Usando tipos, muy bien
Gersain Barron Velazquez
No soy mucho de participar pero les dejo mi guia
// Ejemplo 1: Uso básico de if, else if y else let temperatura = 25 if temperatura > 30 { print("Hace mucho calor. Usa ropa ligera.") } else if temperatura >= 20 && temperatura <= 30 { print("El clima es agradable.") } else { print("Hace frío. Usa un abrigo.") } // Ejemplo 2: Uso de operadores lógicos || (o) y && (y) let esFinDeSemana = true let tengoDinero = false if esFinDeSemana && tengoDinero { print("¡Vamos al cine!") } else if esFinDeSemana || tengoDinero { print("Podemos hacer algo en casa.") } else { print("Toca trabajar o ahorrar dinero.") } // Ejemplo 3: Comparación de números con operadores relacionales let edad = 18 if edad >= 18 { print("Eres mayor de edad.") } else { print("Eres menor de edad.") } // Ejemplo 4: Uso del operador ternario ? : let esMayor = edad >= 18 ? "Sí, puedes votar." : "No, aún no puedes votar." print(esMayor) // Ejemplo 5: Evaluando múltiples condiciones con && y || let esEstudiante = true let tieneDescuento = false if esEstudiante && tieneDescuento { print("Tienes un descuento especial.") } else if esEstudiante || tieneDescuento { print("Podrías obtener un descuento.") } else { print("No tienes descuentos disponibles.") } // Ejemplo 6: Validación de cadenas de texto let usuario = "Admin" if usuario == "Admin" { print("Acceso concedido.") } else { print("Acceso denegado.") } // Ejemplo 7: Comparación de números negativos y positivos let numero = -5 if numero > 0 { print("El número es positivo.") } else if numero < 0 { print("El número es negativo.") } else { print("El número es cero.") } // Ejemplo 8: Comparación y manipulación de cadenas de texto let palabra1 = "Swift" let palabra2 = "swift" // Comparación sensible a mayúsculas y minúsculas if palabra1 == palabra2 { print("Las palabras son iguales.") } else { print("Las palabras son diferentes.") } // Comparación ignorando mayúsculas y minúsculas if palabra1.lowercased() == palabra2.lowercased() { print("Las palabras son iguales ignorando mayúsculas.") } // Uso del operador ternario con strings let mensaje = palabra1.count > 5 ? "Palabra larga" : "Palabra corta" print(mensaje) // Verificar si una cadena contiene otra let frase = "Bienvenido a Swift!" if frase.contains("Swift") { print("La frase menciona Swift.") } else { print("Swift no se menciona en la frase.") }
IVAN DARIO CHIPATECUA CABEZAS
**let** sentenceOne = "Hey!🙈" **let** sentenceTwo = "Hey!🙈" **if** (sentenceOne.elementsEqual(sentenceTwo)) { print("The two sentences are equal!") } **else** { print("The two sentences are not equal!") }
IVAN DARIO CHIPATECUA CABEZAS
let sentenceOne = "Hey!🙈"
let sentenceTwo = "Hey!🙈"
if (sentenceOne.elementsEqual(sentenceTwo)) {
print("The two sentences are equal!")
} else {
print("The two sentences are not equal!")
}
Jessica Balanta Restrepo
let frase1 = "Hola"
let frase2 = "Hola1"
if (frase1 == frase2) {
print("Estas frases son iguales")
} else {
print("Estas frases no son iguales")
}
Miguel Angel Diaz Figueroa
Mi reto estuvo en no mirar el codigo de la clase para saber si despues del if era obligatorio poner los () y me di cuenta que da lo mismo si lo pongo o no lo pongo, asi me quedo:
let frase1 = "esta es la prueba de la clase"
let frase2 = "esta es la prueba de la clase"
if frase1 == frase2 {
print ("Es la misma frase")
} else {
print ("No es la misma frase")
}
Carlos Alberto Dominguez
Me costo un poco adaptarla, pero se pudo jej
let palabra1 = "hola"
let palabra2 = "mundo"
print(palabra1 == palabra2 ? "\(palabra1) es igual a \(palabra2)" : "\(palabra1) no es igual a \(palabra2)")
Angel Rosales Reyes
let s1 = "Hola" let s2 = "Angel" if(s1 == s2){ print("Las frases son iguales") } else { print("Las frases no son iguales") }
Jesús Daniel Medina Cruz
Les comparto mi sitio web para cualquiera que tenga dudas sobre Swift pueda contactarme a cualquiera de mis redes sociales:
Jessica Balanta Restrepo
let frase1 = "Hola"
let frase2 = "Hola1"
if (frase1 == frase2) {
print("Estas frases son iguales")
} else {
print("Estas frases no son iguales")
}
Juan Carlos Montilla Sánchez
let text1:String = "Hello, World" let text2:String = "Hello, world" if (text1 == text2) { print("La palabra '\(text1)' es igual a la otra palabra '\(text2)'") } else { print("Ninguna de las dos palabras son iguales") }
Christian Daniel Arzaluz Tellez
let frase1 = "Hola, Mundo!" let frase2 = "Hola Mundo!" if frase1 == frase2 { print("Estas frases son equivalentes.") } else { print("Estas frases son diferentes.") }
Cristian Yesid Alvarez Castellanos
Otra forma que se puede usar para manejar condicionales que contienen diferentes casos, es usando la estructura de control switch ya que permite ejecutar diferentes bloques de código dependiendo del valor de una variable o expresión, en nuestro caso de la nota seria algo así:
let nota2: Double = 1.5 switch nota2 { case 0...2: print("Reprobado") break case 2...2.9: print("Lo siento estuvo cerca") break case 3...3.9: print("Pasaste, pero lo puedes hacer mejor") break case 4...5: print( "Felicidades pasaste el examen") break default : print("Nota invalida") break }
Marcelo Polanco
Yuliet Murcia
var nota = 3 let eximido = false let siPresento = true if(nota == 3 && siPresento){ print("pasaste, pero pasaste raspando") } else if(nota > 3 || eximido && siPresento){ print("felicidades, pasaste") }else{ print("nos vemos de nuevo el proximo semestre") }
Yuliet Murcia
var nota = 3
if(nota == 3){
print("pasaste, pero pasaste raspando")
}
else if(nota > 3){
print("felicidades, pasaste")
}else{
print("nos vemos de nuevo el proximo semestre")
}
Jherom Chacon
Bien, el caso es que puede hacerse con operadores ternarios y usando las diferentes funciones del tipo String:
constante.elementsEqual(constante2) ? print("\(constante) es igual a \(constante2)") : constante.lowercased().elementsEqual(constante2) ? print("\(constante.lowercased()) es igual a \(constante2)") : constante.lowercased().elementsEqual(constante2.lowercased()) ? print("\(constante.lowercased()) es igual a \(constante2.lowercased())") : print("\(constante) es diferente a \(constante2)") ```constante.elementsEqual(constante2) ? print("\\(constante) es igual a \\(constante2)") : constante.lowercased().elementsEqual(constante2) ? print("\\(constante.lowercased()) es igual a \\(constante2)") : constante.lowercased().elementsEqual(constante2.lowercased()) ? print("\\(constante.lowercased()) es igual a \\(constante2.lowercased())") : print("\\(constante) es diferente a \\(constante2)")
Michelle Sandoval Madrigal
// Evaluar si una frase es igual a otra let frase1 = "Hola" let frase2 = "Hola1" if (frase1 == frase2){ print("Las frases son iguales") } else { print("Las frases no son iguales") }
let nota = 10 if (nota >= 9) { print("La nota es mayor o igual a 9") }else { print( "no es mayor o igual a 9") } let eximido = false if(eximido || nota >= 8){ print("Pasaste el examen siendo eximido") } else { print("No pasaste el examen") } let assistance = true if(assistance && (eximido || nota >= 8)){ print("Y te presentaste al examen") }else { print("No te presentaste al examen") } let nota2 = 5 if(nota2 >= 0 && nota2 < 3){ print("Reprobaste, y muy mal") }else if (nota2 >= 3 && nota2 <= 5){ print("Casi lo logras") }else if (nota2 > 5 && nota2 <= 9){ print("Pasaste a justa medida") }else if (nota2 == 10){ print ("puntaje perfecto") }else { print("Hay un error en el sistema") }