No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

隆Se acaba el precio especial! Aprende Ingl茅s, AI, programaci贸n y m谩s.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

1 D铆as
8 Hrs
24 Min
50 Seg

Condicional IF

14/20
Recursos

Aportes 30

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

La sentencia If


La sentencia if en C# se utiliza para evaluar una expresi贸n l贸gica y ejecutar un bloque de c贸digo si la expresi贸n se eval煤a como verdadera. La sintaxis b谩sica de la sentencia if es la siguiente:

if (expresion) {
    // bloque de c贸digo a ejecutar si la expresi贸n es verdadera
}

<aside>
馃搶 La condici贸n puede ser cualquier expresi贸n que eval煤e a verdadero o falso, como una comparaci贸n de igualdad, una comparaci贸n de desigualdad, una comparaci贸n mayor o menor, etc.

</aside>

Tambi茅n se puede agregar un bloque else opcional para ejecutar un bloque de c贸digo si la expresi贸n se eval煤a como falsa:

if (expresion) {
    // bloque de c贸digo a ejecutar si la expresi贸n es verdadera
} else {
    // bloque de c贸digo a ejecutar si la expresi贸n es falsa
}

Ademas se puede utilizar la sentencia else if para evaluar varias condiciones

if (expresion1) {
// bloque de c贸digo a ejecutar si la expresi贸n1 es verdadera
} else if (expresion2) {
// bloque de c贸digo a ejecutar si la expresi贸n1 es falsa y expresi贸n2 es verdadera
} else {
// bloque de c贸digo a ejecutar si las expresiones son falsas
}

El meme de 鈥渕e gustas, pero si no te gusto no me gustas鈥 pasado a c贸digo 馃槃

Una forma de obtener un n煤mero din谩micamente o aleatorio, es usar la clase Random. Por ejemplo, para asignarlo al total jugador. Por lo que, cada vez que ejecutes el n煤mero va a ser distinto.
En este caso, el numero aleatorio va en un rango de 1 a 21.

int totalJugador = 0;
int totalDealer = 15;
string message = string.Empty;
Random rand = new Random();
totalJugador = rand.Next(1, 21);
if (totalJugador > totalDealer)
{
    message = $"Venciste al dealer. Puntos = {totalJugador}";
}
else if (totalJugador <= totalDealer)
{
    message = $"Perdiste vs el dealer, lo siento. Puntos = {totalJugador}";
}
else
{
    message = "condici贸n no v谩lida";
}

Console.WriteLine(message);

yo lo escrib铆 as铆 y me funcion贸 bien, coloqu茅 como primer if el que el jugador sea mayor a 21, esto significa que la condicionante entra solo si el ,totalJugador es de 22 hacia arriba.

int totalJugador = 17;
int totalDealer = 15;
string message = 鈥溾;

/*

  • BlackJack, juntar 21 pidiendo cartas o en casto de tener menos de 21
  • igual tener mayor puntuaci贸n que el dealer
    */
    if (totalJugador > 21)
    {
    message = 鈥減erdiste Te pasaste de vrg鈥;
    }
    else if(totalJugador > totalDealer)
    {
    message = 鈥渧enciste al Dealer, felicidades鈥;
    }
    else if (totalJugador <= totalDealer)
    {
    message = 鈥減erdiste vs el Dealer, lo siento鈥;
    }
    else
    {
    message = 鈥淐ondici贸n no v谩lida鈥;
    }
    Console.WriteLine(message);

Tratando de aplicar todo lo aprendido hasta ahora

var (totalJugador, totalDealer) = (10, 18);
string message = string.Empty;

/* Blackjack, Juntar 21 pidiendo, en caso de pasaswte de 21 pierdes.
cartas o en caso de tener menos
de 21 igual tener mayor puntuaci贸n que el dealer */

if(totalJugador < 1 || totalJugador > 21)
    message = "Total jugador no puede ser menor que 1 o mayor a 21";
else if (totalDealer < 1 || totalDealer > 21)
    message = "Total dealer no puede ser menor que 1 o mayor a 21";
else
{
    if (totalJugador > totalDealer)    
        message = "Felicidades, venciste al dealer";    
    else if (totalJugador <= totalDealer)    
        message = "Lo siento!... Perdiste vs el dealer";    
    else    
        message = "Condici贸n no v谩lida";    
}
Console.WriteLine($"Total jugador {totalJugador}");
Console.WriteLine($"Total dealer {totalDealer}");
Console.WriteLine(message);

despues de darle vuelta al c贸digo para buscar una mejorr forma de escribirlo, mas sensilla, lleg煤e a esto:

int totalJugador = 17;
int totalDealer = 23;
string message = "";

if (totalJugador > 21)
{
    message = "Te pasaste de 21, haz perdido...";
} 
else if (totalDealer > 21)
{
    message = "El dealer se ha pasado de 21, haz ganado...";

}
else
{
    if (totalJugador > totalDealer)
    {
        message = "FELICIDADES, Venciste al dealer...";
    }
    else if (totalJugador <=totalDealer)
    {
        message = "Perdiste frente al dealer, lo siento...";
    } else
    {
        message = "condici贸n no v谩lida...";
    }
}

Console.WriteLine(message);

Primera vez que veo que un curso de Platzi el profesor cambia de ropa jajajaja

Con operador ternario para que salga en 1 l铆nea de c贸digo:

int totalJugador = 21;
int totalDealer = 15;
string message = "";

// Blackjack, juntar 21 pidiendo cartas

message = totalJugador <= totalDealer ? "Perdiste vs el dealer, lo siento" : "Venciste al dealer, felicidades";

Console.WriteLine(message);

El mejor profe lejos

:)
猸怣ejorar el c贸digo para que si se pasa de 21 tambi茅n pierda ![](https://static.platzi.com/media/user_upload/codigoIF-2-14c98277-29ed-4059-8a66-fd94db33d62f.jpg)
![](https://static.platzi.com/media/user_upload/codigoIF-037e9773-34c5-41df-ac39-d154379a151f.jpg)
estas clase son muy largas para lo que explica
Leccion sobre Condicional IF
<code> 
int totalJugador = 25;
int totalDealer = 15;
string message = "";

//Blackjack,Juntar 21 pidiendo cartas o en caso de tener menos
//de 21 igual tener mayor puntuacion que el dealer

if (totalJugador > totalDealer && totalJugador < 22)
{
    message = "venciste al dealer, felicidades.";
}
else if (totalJugador >= 22)
{
    message = "perdiste vs el dealer, te pasaste de 21..";
}
else if (totalJugador <= totalDealer)
{
    message = "perdiste vs el dealer, lo siento.";
}
else
{
    message = "condicion no valida.";
}
 Console.WriteLine(message);
Se que para esta clase aun no se ven ciclos pero tome como practica hacer el c贸digo para cuando el usuario quisiera jugar m谩s de 1 vez. (Cualquier recomendaci贸n para nomenclatura o limpieza de codigo es binevenida) C脫DIGO: //if and else using do while using System; using System.Security.Cryptography; int playerScore = 0, houseScore = 0; string continueGame = "", yesOrNo=""; bool cG = false, stay=false; Random random = new Random(); Console.WriteLine("Welcome to Black Jack, You win if you get 21.\n" + "The house Win if you get less closer to 21 than the house and if You overpass 21." + "\nGOOD LUCK :)\n"); do { Console.WriteLine("Welcome to Black Jack \nThe house bring you 2 cards: \n"); playerScore = random.Next(1,11)+ random.Next(1, 11); houseScore = random.Next(1, 11)+ random.Next(1, 11); Console.WriteLine("House SCORE : " + houseScore + "."); Console.WriteLine("Your SCORE : " + playerScore + "."); cG = true; stay = true; if (playerScore < 22) { do { Console.WriteLine("Want another card? (1) for YES, (2) for NO"); yesOrNo=Console.ReadLine(); //.ToUpper(); if (yesOrNo == "1") { playerScore= playerScore + random.Next(1,11); houseScore= houseScore + random.Next(2,11); } else { stay = false; } Console.WriteLine("House SCORE : " + houseScore + "."); Console.WriteLine("Your SCORE : " + playerScore + "."); if (houseScore == 21 && playerScore == 21) { Console.Write("NO SENSE THIS IS A TIE!!! \nOWO\n"); } if (houseScore==21 && (playerScore >= 1 && playerScore <= 20)) { Console.Write("THE HOUSE WINS with 21 \nHURRAY\n"); } if (playerScore == 21 && (houseScore >= 1 && houseScore <= 20)) { Console.Write("YOU WIN with 21 :)\nHURRAY\n"); stay = false; } if (playerScore >= 22) { stay= false; } if (houseScore >= 22) { stay = false; } } while (stay==true); Console.WriteLine("\nHouse SCORE : " + houseScore + "."); Console.WriteLine("Your SCORE : " + playerScore + "."); if ((playerScore > houseScore) && (playerScore < 22)) { Console.WriteLine("You WIN brother.\n"); } if ((playerScore < houseScore) && (houseScore >= 22)) { Console.WriteLine("You WIN brother.\n"); } if ((playerScore <= houseScore) && (houseScore < 22)) { Console.WriteLine("You LOSE brother.\n"); } if (playerScore > 21) { Console.WriteLine("You LOSE brother.\n"); } } else { Console.WriteLine("House SCORE : " + houseScore + "."); Console.WriteLine("Your SCORE : " + playerScore + "."); Console.WriteLine("You LOSE the HOUSE wins\n"); } Console.WriteLine("Want to play another game? (1) for YES, (2) for NO"); continueGame=Console.ReadLine(); //kP.ToUpper(); if (continueGame == "1") { cG = true; playerScore = 0; houseScore = 0; } else { cG = false; } } while (cG==true);

Cuando utilices 鈥業F鈥 debes analizar TODOS los posibles escenarios:

var jugadorTotal = 21;
int dealerTotal = 15;
string message = "";

if ((jugadorTotal > dealerTotal && jugadorTotal <= 21) || dealerTotal > 21)
{
    message = "Haz ganado";
}
else if (jugadorTotal <= dealerTotal || jugadorTotal > 21)
{
    message = "Haz perdido";
}

Console.WriteLine(message);

As铆 quedo el juegui帽o

// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");

var (totalJugador, totalDealer, message) = (0d, 0d, "");

//Blackjack, Juntar 21 cartas, pidiendo en caso de tener menos cartas
//de 21 igual tener mayor puntuaci贸n que el dealer.

Console.WriteLine("Empieza a jugar!!! \n");
Console.WriteLine("Ingresa un numero de cartas hasta el 21!!! - Programa por mejorar: \n");
totalJugador = Convert.ToDouble(Console.ReadLine());

Random rand = new Random();
totalDealer = rand.Next(1, 21);

if (totalJugador >= 22)
{
    message = ($"Perdiste por weon, te dije que era 21 cartas!!!. Puntos = {totalJugador}");
}
else if (totalJugador == 21)
{
    Console.WriteLine("隆Blackjack! Has alcanzado 21 cartas. 隆Ganaste!");
}
else
{
    if (totalJugador > totalDealer)
    {
        message = ($"Venciste al dealer. Puntos = Jugador {totalJugador} vs Dealer {totalDealer}");
    }

    else
    {
        message = ($"Perdiste vs el dealer, lo siento perdedor. Puntos = Jugador {totalJugador} vs Dealer {totalDealer}");
    }
}

Console.WriteLine(message);

yo nada m谩s puse la condicional de que tiene que ser < que 21 de primeras ya que si el c贸digo lee de arriba a abajo pues no m谩s con que pongas de primeras esa condici贸n ya ser谩 suficiente, o bueno, en mi caso fue as铆

Console.WriteLine("elije un numero");
int totalJugador = Convert.ToInt32(Console.ReadLine());
int totalDiler = 15;
string messege = "";




if(totalJugador<totalDiler)
{
    messege = "perdiste D:";
}


else if(totalJugador>21)
{
    messege = "perdiste D:";
}

else if (totalJugador==21)
{
    messege = "Blackjak, ganaste";
}

else if (totalJugador > totalDiler)
{
    messege = "ganaste :3";
}

else if (totalJugador == totalDiler)
{
    messege = "empate, pero en caso de empate la casa gana por que yo lo digo :p";
}

else 
{
    messege = "que putas mk, rompiste el juego, asi de mal juegas wn";
}

Console.WriteLine(messege);
Console.WriteLine(" Hello, World! ");

Console.WriteLine(" Condicionales if y else ");

// variables

int totalJugador = 15;
int totalMaquina = 15;
string mensaje = "";

// Juego Blackjack

if (totalJugador > totalMaquina) 
{
    mensaje = " Le ganaste a la maquina ";
}
else if (totalJugador < totalMaquina)
{
    mensaje = " Perdiste contra la maquina ";
}

else
{
    mensaje = " Condicion no valida ";
}

Console.WriteLine(mensaje);

Se podr铆a utilizar la condici贸n OR para evitar escribir el IF >= 22.

var total_jugador = 21;
int totaldealer = 15;
string mensaje = "";

if (total_jugador > totaldealer && total_jugador < 22)
{
    mensaje = "Venciste al dealer, felicitaciones";
}
else if(total_jugador <= totaldealer || total_jugador > 22)
{
    mensaje = "隆Perdiste vs el dealer, disculpa!";
}
else
{
    mensaje = "Condici贸n no valida";
}

bool leGusto = false;
bool meGhostea = true;
bool meCela = true;
bool meEscribeCartas = false;
bool aceptaSalir = false;
string message = 鈥溾;
string negmessage = 鈥淣i lo intentes鈥;
string posmessage = 鈥淒o it!鈥;

    Console.WriteLine("Le gustare?");

    if (leGusto == true)

    {   
        message = posmessage;
    }
    else if (meGhostea && meCela)
    {
        message = negmessage;
    }
    else if ((!aceptaSalir && !meEscribeCartas) || leGusto)
    {
        message = negmessage;
    }
    else
    {
        message = posmessage;
    }

    Console.WriteLine(message);

De practica cree una calculadora. Muy interesante馃槃

string operacion;
double numero1;
double numero2;
double resultado;

Console.WriteLine("Que operacion quieres realizar? SUMA, RESTA, MULTIPLICACION O DIVISION");
operacion = Console.ReadLine();

Console.WriteLine("Ingresa el primer numero1:");
numero1 = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Ingresa el segundo numero:");
numero2 = Convert.ToDouble(Console.ReadLine());

if(operacion == "suma" || operacion == "Suma" || operacion == "SUMA"){

    resultado = numero1 + numero2;

    Console.WriteLine("El resultado es: " + resultado);

} else if(operacion == "resta" || operacion == "Resta" || operacion == "RESTA"){
    
    resultado = numero1 - numero2;

    Console.WriteLine("El resultado es: " + resultado);

} else if(operacion == "multiplicacion" || operacion == "Multiplicacion" || operacion == "MULTIPLICACION"){

    resultado = numero1 * numero2;

    Console.WriteLine("El resultado es: " + resultado);

}else if(operacion == "division" || operacion == "Division" || operacion == "DIVISION"){
    
    resultado = numero1 / numero2;

    Console.WriteLine("El resultado es: " + resultado);

}else {

    Console.WriteLine("Ocurrio un ERROR:(");

}

Debemos tener en cuenta, que existen casos donde podemos usar el if, else if y el else sin la necesidad de poner las llaves 鈥渰}鈥 y s贸lo poniendo el argumento al lado ; adem谩s tambi茅n podemos usar esto en otros lenguajes como Java.

  • S贸lo se puede aplicar esta forma siempre y cuando el argumento que le siga a la condici贸n sea uno sino nuestro c贸digo No compilar谩. Ej:
if (totalJugador > totalDealer)  message = $"Venciste al dealer. Puntos = {totalJugador}";

else if (totalJugador <= totalDealer) message = $"Perdiste vs el dealer, lo siento. Puntos = {totalJugador}";

else  message = "condici贸n no v谩lida";

Yo lo que hice para solucionar el error fue cambiar el orden, primero coloque que si es mayor a 21 pierde.

Si la primera condicion if se ha cumplido, ya no evalua las demas condiciones creadas con los else if, lo que significa que ordenar las condiciones es muy importante para que el programa ejecute las acciones requeridas de la manera y orden que esperamos

int totalJugador = 0;
int totaldealer = 15;
string message = "";

/*Blackjack*/
if (totalJugador <= totaldealer || totalJugador > 21)
{
    message = "Venciste al dealer. Ganaste!";
} else if (totalJugador > totaldealer)
{
    message = "Mejor suerte a la proxima";
} else
{
    message = "Condicion no valida";
}

Cuando nos encontremos con decisiones cuyo bloque sea muy peque帽o, como en este caso, solo una l铆nea, podemos transformar nuestra validaci贸n a un IF TERNARIO. Todos los lenguajes tienen su manera de escribirlo, en C# es:

m = condici贸n ? "Respuesta verdadera" : "Respuesta falsa"
m = condicion ? "Respuesta verdadera" : otraCondicion ? "Otra respuesta" : "Respuesta else"

Quedar铆a entonces.

int tj = 0;
int td = 15;
string m = "";
m = tj > td ? "Venciste al dealer, felicidades" : tj <= td ? "Perdiste vs el dealer, lo siento" : "Condici贸n no v谩lida";

CONDICIONAL IF

Instrucciones de selecci贸n: if, else y switch

Las instrucciones IF, ELSE IF y ELSE seleccionan instrucciones para ejecutarse desde muchas rutas de acceso posibles en funci贸n del valor de una expresi贸n. La instrucci贸n IF y ELSE IF selecciona una instrucci贸n que se va a ejecutar en funci贸n del valor de una expresi贸n booleana. Una instrucci贸n IF se puede combinar con else para elegir dos rutas de acceso distintas en funci贸n de la expresi贸n booleana.

Instrucci贸n if
Una instrucci贸n if puede tener cualquiera de las dos formas siguientes:

  • Una instrucci贸n if con una parte else selecciona una de las dos instrucciones que se ejecutar谩n en funci贸n del valor de una expresi贸n booleana, como se muestra en el ejemplo siguiente:
DisplayWeatherReport(15.0);  // Output: Cold.
DisplayWeatherReport(24.0);  // Output: Perfect!

void DisplayWeatherReport(double tempInCelsius)
{
    // Si tempInCelsius es menor que 20.0
    if (tempInCelsius < 20.0)
    {
        Console.WriteLine("Cold.");
    }
    else
    {
        Console.WriteLine("Perfect!");
    }
}

  • Una instrucci贸n if sin una parte else ejecuta el cuerpo solo si una expresi贸n booleana se eval煤a como true, como se muestra en el ejemplo siguiente:
DisplayMeasurement(45);  // Output: The measurement value is 45
DisplayMeasurement(-3);  // Output: Warning: not acceptable value! The measurement value is -3

void DisplayMeasurement(double value)
{
    if (value < 0 || value > 100)
    {
        Console.Write("Warning: not acceptable value! ");
    }

    Console.WriteLine($"The measurement value is {value}");
}

Puede anidar instrucciones if para comprobar varias condiciones, como se muestra en el ejemplo siguiente:

DisplayCharacter('f');  // Output: A lowercase letter: f
DisplayCharacter('R');  // Output: An uppercase letter: R
DisplayCharacter('8');  // Output: A digit: 8
DisplayCharacter(',');  // Output: Not alphanumeric character: ,

void DisplayCharacter(char ch)
{
    if (char.IsUpper(ch))
    {
        Console.WriteLine($"An uppercase letter: {ch}");
    }
    else if (char.IsLower(ch))
    {
        Console.WriteLine($"A lowercase letter: {ch}");
    }
    else if (char.IsDigit(ch))
    {
        Console.WriteLine($"A digit: {ch}");
    }
    else
    {
        Console.WriteLine($"Not alphanumeric character: {ch}");
    }
}

En un contexto de expresi贸n, puede usar el operador condicional ?: para evaluar una de las dos expresiones en funci贸n del valor de una expresi贸n booleana. Esto es lo que se conoce como if con operador ternario o if corto

int x = 15;
int y = 30;
string z = (x > y) ? "x es mayor a y" : "y es mayor a x";
Console.WriteLine(z);

En este ejemplo, el OR ( || ), podr铆a usarse para dejarte saber que has perdido, por ejemplo:

int totalJugador = 22;
int totalDealer = 15;
string message = "";

if (totalJugador > totalDealer && totalJugador < 22)
{
    message = "Venciste al dealer, 隆Felicidades!";
}
else if (totalJugador <= totalDealer || totalJugador >= 22)
{
    message = "Perdiste contra el dealer. Lo siento.";
//}
else
{
    message = "Condici贸n no v谩lida.";
}

Console.WriteLine(message);

Gracias por sus valiosos aportes amigos. Ac谩 les comparto un ejercicio b谩sico que hice con lo que aprend铆 de las sentencias IF.
Quiz谩s el voy a agregar un Random para que al jugador computadora se le asigne un numero de 1 a 3. Yo se que se puede mejorar con funciones, pero estoy contento, creo que voy entendiendo la l贸gica.

using System.Reflection.Metadata;

Console.WriteLine("Hello, hoy vamos a jugar Piedra, Papel o Tijera, estas listo!!!");

//VARIABLES
int jugador;
int computadora;
string mensaje = "";

/*CONDICIONES DEL JUEGO
 1 = Piedra, 2 = Papel, 3 = Tijera.
 */

//CONSTANTES
int piedra = 1;
int papel = 2;
int tijera = 3;

Console.WriteLine("Es el turno del jugador 1 PIEDRA, 2 PAPEL, 3 TIJERA");
jugador = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Es el turno de la computadora 1 PIEDRA, 2 PAPEL, 3 TIJERA");
computadora = Convert.ToInt32(Console.ReadLine());

//OPERACION DEL JUEGO
if (jugador == computadora)
{
    mensaje = "Estan empatados";
}
else if (jugador == papel && computadora == piedra || jugador == piedra && computadora==tijera || jugador ==tijera && computadora==papel)
{
    mensaje = "Ganaste";
}
else
{
    mensaje = "Perdiste";
}

Console.WriteLine("El jugador eligio: " + jugador + " "+ "y la computadora eligio: " + computadora);
Console.WriteLine(mensaje);

Este es mi aporte de forma din谩mica para el ejercicio de la clase

    var totalJugador = 0;
    var totalDealer = 0;
    var comodin = 21;
    string message = "";

    //BlackJack, Juntar 21 pidiendo cartas o en caso de tener menos de 21 igual tener mayor  puntuacion que el dealer

    Console.WriteLine("Ingrese el punto del Jugador");
    totalJugador= Convert.ToInt32(Console.ReadLine());

    Console.WriteLine("Ingrese el punto del dealer");
    totalDealer = Convert.ToInt32(Console.ReadLine());

if (totalJugador > totalDealer && totalJugador > comodin)
{
message = 鈥淧erdiste contra el dealer, te pasaste de 21鈥;
}
else if (totalJugador > totalDealer && totalJugador<=comodin)
{
message = 鈥淰enciste al dealer, felicidades鈥;
}
else if ( totalJugador <= totalDealer)
{
message = 鈥淧erdiste contra el dealer, lo siento鈥;
}
else
{
message = 鈥淐ondicion no valida鈥;
}

    Console.WriteLine(message);