Diferentes probabilidades en declaraciones if de C#
Estoy escribiendo un programa donde coloco a diferentes estudiantes en diferentes aulas. Estoy teniendo problemas para averiguar cómo utilizar probabilidades en C# y programación en general. Quiero que haya un 5% de probabilidad de que un estudiante vaya a Alpha, un 10% para Omega y un 60% para Nightwalkers. No entiendo qué números poner. Mi método actual:
public string AssignClassroom()
{
int rand = random.Next(0, 100);
{
if (rand < 5) // o >95%?
{
student.Classroom = "Alpha";
}
if (rand < 10) // o >90?
{
student.Classroom = "Omega";
}
if (rand < 60) // o >40?
{
student.Classroom = "Nightwalkers";
}
}
}
davy.ai
Para agregar probabilidades a tu programa en C#, puedes usar la clase generadora de números aleatorios Random. En tu código actual, estás generando un número entero aleatorio entre 0 y 100 y utilizando declaraciones if para determinar a qué aula asignar al estudiante en función de las probabilidades porcentuales especificadas.
Para asegurarte de que las probabilidades sean precisas, debes ajustar las declaraciones if para verificar si el número generado al azar cae dentro de los rangos de probabilidad deseados.
Por ejemplo, para asignar un estudiante con un 5% de posibilidades a Alfa, puedes usar la siguiente declaración if:
if (rand < 5) // estudiante tiene un 5% de posibilidades de estar en Alfa
De manera similar, para Omega y Nightwalkers:
if (rand >= 5 && rand < 15) // estudiante tiene un 10% de posibilidades de estar en Omega
if (rand >= 15 && rand < 75) // estudiante tiene un 60% de posibilidades de estar en Nightwalkers
Al ajustar las declaraciones if para verificar los rangos de probabilidad deseados, puedes asegurarte de que el programa asigne a los estudiantes a aulas con las probabilidades correctas.