Generación aleatoria de valor - Python Programming Exercise

En este ejercicio, desarrollarás un proyecto en Python con una clase llamada RandomNumber que incluye tres métodos estáticos. Este ejercicio es perfecto para practicar la definición de clases, la implementación de métodos y la generación de números aleatorios en Python. Al implementar esta clase, obtendrás experiencia práctica en el manejo de definiciones de clases, implementación de métodos y generación de números aleatorios en Python. Este ejercicio no solo refuerza tu comprensión de la programación orientada a objetos, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar las interacciones con el usuario. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con definiciones de clases e implementación de métodos, aprenderás a estructurar tu código de manera eficiente, lo cual es una habilidad crucial en muchos escenarios de programación. Este ejercicio también te anima a pensar críticamente sobre cómo estructurar tu código para la legibilidad y el rendimiento, convirtiéndolo en una valiosa adición a tu portafolio de programación. Ya seas un principiante o un programador experimentado, este ejercicio te ayudará a profundizar tu comprensión de Python y mejorar tus habilidades para resolver problemas.

 Categoría

POO Dominando clases en Python

 Ejercicio

Generación Aleatoria De Valor

 Objectivo

Desarrolla un proyecto Python con una clase RandomNumber que incluya tres métodos estáticos:

GetFloat: Devuelve un valor entre 0 y 1 utilizando la fórmula:
seed = (seed * a + c) % m
result = abs(seed / m)

GetInt(max): Devuelve un entero entre 0 y max, calculado como:
result = round(max * GetFloat())

GetInt(min, max): Devuelve un entero entre min y max (implementa esto).

Inicializa con:
m = 233280; a = 9301; c = 49297; seed = 1;

Programa esto en Python y prueba los métodos.

 Ejemplo de ejercicio de Python

 Copiar código Python
class RandomNumber:
    # Static variables for random number generation
    m = 233280
    a = 9301
    c = 49297
    seed = 1

    @staticmethod
    def GetFloat():
        """
        Generates a floating point number between 0 and 1 using the formula:
        seed = (seed * a + c) % m
        result = abs(seed / m)
        """
        # Update the seed using the linear congruential generator formula
        RandomNumber.seed = (RandomNumber.seed * RandomNumber.a + RandomNumber.c) % RandomNumber.m
        # Calculate the float value between 0 and 1
        result = abs(RandomNumber.seed / RandomNumber.m)
        return result

    @staticmethod
    def GetInt(max):
        """
        Generates an integer between 0 and 'max' using the formula:
        result = round(max * GetFloat())
        """
        # Generate a float and scale it by the max value
        return round(max * RandomNumber.GetFloat())

    @staticmethod
    def GetIntRange(min, max):
        """
        Generates an integer between 'min' and 'max' using the formula:
        result = round((max - min) * GetFloat()) + min
        """
        # Generate a float value between 0 and (max - min)
        return round((max - min) * RandomNumber.GetFloat()) + min


# Test the RandomNumber class and methods
if __name__ == "__main__":
    print("Testing RandomNumber Class:")

    # Test GetFloat
    print("GetFloat():", RandomNumber.GetFloat())

    # Test GetInt with a maximum value of 10
    print("GetInt(10):", RandomNumber.GetInt(10))

    # Test GetIntRange with a range of 5 to 15
    print("GetIntRange(5, 15):", RandomNumber.GetIntRange(5, 15))

    # Test with different ranges
    print("GetIntRange(100, 200):", RandomNumber.GetIntRange(100, 200))
    print("GetInt(50):", RandomNumber.GetInt(50))

 Output

Testing RandomNumber Class:
GetFloat(): 0.11292986114866488
GetInt(10): 1
GetIntRange(5, 15): 8
GetIntRange(100, 200): 183
GetInt(50): 48

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de POO Dominando clases en Python

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Convertir texto a HTML

    En este ejercicio, desarrollarás una clase en Python llamada "TextToHTML" que puede convertir múltiples textos ingresados por el usuario en una secuencia de líneas HT...

  •  Clase Texto en pantalla

    En este ejercicio, desarrollarás una clase en Python llamada "DisplayText" que te permitirá mostrar texto en coordenadas específicas en la pantalla. Este ejercicio...

  •  Clase ComplexNumber mejorada

    En este ejercicio, desarrollarás un programa en Python para mejorar la clase "ComplexNumber" sobrecargando los operadores de suma (+) y resta (-). Este ejercicio...

  •  Coordenadas 3D

    En este ejercicio, desarrollarás una clase en Python llamada "Point3D" que representará un punto en el espacio tridimensional con coordenadas X, Y y Z. Este ejerci...

  •  Catálogo y Navegación

    En este ejercicio, desarrollarás un programa en Python para mejorar la aplicación de Catálogo, donde la función "Main" muestra un menú que permite a los usuarios ingr...

  •  Matriz de objetos: tablas

    En este ejercicio, desarrollarás una clase en Python llamada "Table". La clase debe incluir un constructor para inicializar el ancho y la altura de la mesa. También d...