Programa de Python para diseñar una función de lanzamiento de dados imparcial

La tarea es escribir un programa en Python para generar un lanzamiento de dados imparcial y generar resultados en consecuencia. Para realizar esto, podemos usar varios métodos presentes en el módulo  aleatorio de python.

Enfoques:

  • Usando el método random.choice()
  • Usando el método random.randrange()
  • Usando el método random.randint()
  • Usando el método random.random()

Método 1: Usar random.choice()

El choice() es un método en el módulo aleatorio que devuelve un elemento aleatorio de una lista, tupla o string. Este método está diseñado con el propósito específico de obtener un número aleatorio del contenedor y, por lo tanto, es el método más común para lograr esta tarea de obtener un número aleatorio de una lista.

Sintaxis: random.choice(secuencia)

Parámetros:  

  • secuencia es un parámetro obligatorio que puede ser una lista, una tupla o una string.

Devoluciones: la opción() devuelve un elemento aleatorio.

Ahora, como sabemos que los dados tienen números del 1 al 6 inclusive, daremos [1, 2, 3, 4, 5, 6] como la secuencia en la función y la función dará como resultado un lanzamiento de dados imparcial. . A continuación se muestran las implementaciones basadas en la explicación anterior:

Python3

# Python program to design an unbiased dice throw 
# function
  
# Importing random library
import random
  
# Function to give an unbiased dice throw
def dice_throw():
      
    # Declaring the sequence
    sequence = [1, 2, 3, 4, 5, 6]
      
    # Printing the random result
    print(random.choice(sequence))
  
# Driver Code
# Calling the function
dice_throw()
  
# Calling the function
dice_throw()
  
# Calling the function
dice_throw()

Producción:

3
1
4

Método 2: Usando random.randrange()

Este método se usa para generar un número aleatorio en un rango, para las listas, podemos especificar que el rango sea 0 en su longitud, obtener el índice y luego el valor correspondiente. Esto también da la opción de obtener incluso elementos colocados o elementos en el índice de cierto múltiplo.

Sintaxis: random.randrange(start(opt), stop, step(opt))

Parámetros:

  • start(opt) : la consideración del número para la generación comienza a partir de esto, el valor predeterminado es 0. Este parámetro es opcional.
  • stop : Se generan números menores que este. Este parámetro es obligatorio.
  • step(opt) : Punto de paso del rango, esto no se incluirá. Esto es opcional. El valor predeterminado es 1.

Valor de retorno: esta función generó los números en el paso de salto de secuencia de inicio y parada.

Ahora, como sabemos que los dados tienen números del 1 al 6 inclusive, daremos [1, 2, 3, 4, 5, 6] como secuencia en la función y luego usaremos randrange() para encontrar un resultado random. index y, por lo tanto, la función dará como resultado un lanzamiento de dados imparcial. A continuación se muestran las implementaciones basadas en la explicación anterior:

Python3

# Python program to design an unbiased dice throw 
# function
  
# Importing random library
import random
  
# Function to give an unbiased dice throw
def dice_throw():
      
    # Declaring the sequence
    sequence = [1, 2, 3, 4, 5, 6]
      
    # using random.randrange() to  
    # get a random index number  
    rand_idx = random.randrange(len(sequence))
  
    # Printing the random result
    print(sequence[rand_idx])
  
# Driver Code
# Calling the function
dice_throw()
  
# Calling the function
dice_throw()
  
# Calling the function
dice_throw()

Producción:

3
1
3

Método 3: Usar random.randint()

Otro método más para generar el número aleatorio, esto también se puede usar para generar cualquier número en un rango y luego usando ese índice numérico, podemos encontrar el valor en el índice correspondiente, al igual que la técnica mencionada anteriormente. Pero se diferencia por el hecho de que requiere 2 argumentos obligatorios para el rango.

Sintaxis: randint (inicio, final)

Parámetros:

  • (inicio, fin): ambos deben ser valores de tipo entero.

Devuelve: un número entero aleatorio en el rango [inicio, fin] incluidos los puntos finales.

Ahora, como sabemos que los dados tienen números del 1 al 6 inclusive, daremos [1, 2, 3, 4, 5, 6] como secuencia en la función y luego usaremos randint() para encontrar un resultado random. index y, por lo tanto, la función dará como resultado un lanzamiento de dados imparcial. A continuación se muestran las implementaciones basadas en la explicación anterior:

Python3

# Python program to design an unbiased dice throw 
# function
  
# Importing random library
import random
  
# Function to give an unbiased dice throw
def dice_throw():
      
    # Declaring the sequence
    sequence = [1, 2, 3, 4, 5, 6]
      
    # using random.randint() to  
    # get a random index number  
    rand_idx = random.randint(0, len(sequence)-1)
  
    # Printing the random result
    print(sequence[rand_idx])
  
# Driver Code
# Calling the function
dice_throw()
  
# Calling the function
dice_throw()
  
# Calling the function
dice_throw()

Producción:

1
5
4

Método 4: Usar random.random()

Este método genera los números de coma flotante en el rango de 0 a 1. También podemos obtener el valor del índice de la lista usando esta función multiplicando el resultado y luego encasillándolo a int para obtener el índice entero y luego el valor de la lista correspondiente. Luego usaremos ese valor de índice para imprimir un número aleatorio de la lista.

Sintaxis: random.random()

Parámetros: este método no acepta ningún parámetro.

Devoluciones: este método devuelve un número flotante aleatorio entre 0 y 1.

Python3

# Python program to design an unbiased dice throw 
# function
  
# Importing random library
import random
  
# Function to give an unbiased dice throw
def dice_throw():
      
    # Declaring the sequence
    sequence = [1, 2, 3, 4, 5, 6]
      
    # using random.random() to  
    # get a random number  
    rand_idx = int(random.random() * len(sequence)) 
  
    # Printing the random result
    print(sequence[rand_idx])
  
# Driver Code
# Calling the function
dice_throw()
  
# Calling the function
dice_throw()
  
# Calling the function
dice_throw()

Producción:

2
6
1

Publicación traducida automáticamente

Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *