rango random() en Python

Generar un número aleatorio siempre ha sido una aplicación importante y tiene muchos usos en la vida diaria. Python ofrece una función que puede generar números aleatorios a partir de un rango específico y también permite incluir espacios para pasos, llamada randrange() en el módulo random. Más a esta función se discute en este artículo.
 

Syntax : 
random.randrange(start(opt),stop,step(opt))
Parameters :
start(opt) :  Number consideration for generation starts from this,
default value is 0. This parameter is optional.
stop : Numbers less than this are generated. This parameter is mandatory.
step(opt) : Step point of range, this won't be included. This is optional.
Default value is 1.
Return Value : 
This function generated the numbers in the sequence start-stop skipping step.
Exceptions :
Raises ValueError if stop <= start and number is non- integral.


Python3

# Python code to demonstrate the working of
# randrange()
 
import random
 
# Using randrange() to generate numbers from 0-100
print ("Random number from 0-100 is : ",end="")
print (random.randrange(100))
 
# Using randrange() to generate numbers from 50-100
print ("Random number from 50-100 is : ",end="")
print (random.randrange(50,100))
 
# Using randrange() to generate numbers from 50-100
# skipping 5
print ("Random number from 50-100 skip 5 is : ",end="")
print (random.randrange(50,100,5))

Producción: 
 

Random number from 0-100 is : 26
Random number from 50-100 is : 58
Random number from 50-100 skip 5 is : 90


Excepciones

1. Error de valor: valor de punto flotante 
 

Python3

# Python code to demonstrate the Exception of
# randrange(), ValueError, Float value
 
import random
 
# Using randrange() to generate numbers from 14.5-100
# Raises Exception
print ("Random number from 14.5-100 is : ",end="")
print (random.randrange(14.5,100))

Producción : 
 

Random number from 14.5-100 is : 


Error de tiempo de ejecución : 
 

Traceback (most recent call last):
  File "/home/5e40f42505a6926d0c75a09bec1279d9.py", line 9, in 
    print (random.randrange(14.5,100))
  File "/usr/lib/python3.5/random.py", line 182, in randrange
    raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()


2. Error de valor: inicio >= parada 
 

Python3

# Python code to demonstrate the Exception of
# randrange(), ValueError, start >= start
 
import random
 
# Using randrange() to generate numbers from 500-100
# Raises Exception
print ("Random number from 500-100 is : ",end="")
print (random.randrange(500,100))

Producción : 
 

Random number from 500-100 is : 


Error de tiempo de ejecución : 
 

Traceback (most recent call last):
  File "/home/ea327cf3f1dd801a66a185d101c5cb13.py", line 9, in 
    print (random.randrange(500,100))
  File "/usr/lib/python3.5/random.py", line 196, in randrange
    raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, istop, width))
ValueError: empty range for randrange() (500,100, -400)


Aplicación práctica

La generación de números aleatorios siempre ha sido una aplicación importante y se ha utilizado en muchos juegos de casino, para apostar en muchos juegos para niños como ludo, etc., que utilizan el concepto de Dados. En el siguiente código se muestra un juego corto, sobre quién alcanza las 100 primeras victorias. A cada jugador se le permite un dado de 1 a 10 números, es decir, en cada turno se pueden obtener del 1 al 10. .
 

Python3

# Python code to demonstrate the Application of
# randrange()
 
import random
 
sum = 0
sum1 = 0
count = 0
flag = 0
 
while(1):
     
    # generate random number at each turn 1-10
    r1 = random.randrange(1,10)
    r2 = random.randrange(1,10)
     
    # adding to account of players
    sum = sum + r1
    sum1 = sum1 + r2
    count = count+1
     
    print ("Total score of Player 1 after turn %d is :  %d " % (count,sum))
     
    # break when player 1 reaches 100
    if(sum>=100):
      flag=1
      break
    print ("Total score of Player 2 after turn %d is :  %d" % (count,sum1))
     
    # break when player 2 reaches 100
    if(sum1>=100):
      flag=2
      break
 
if(flag==1):
   print("\nPlayer 1 wins the game")
else :
   print("\nPlayer 2 wins the game")  
Producción

Total score of Player 1 after turn 1 is :  8 
Total score of Player 2 after turn 1 is :  4
Total score of Player 1 after turn 2 is :  13 
Total score of Player 2 after turn 2 is :  8
Total score of Player 1 after turn 3 is :  22 
Total score of Player 2 after turn 3 is :  16
Total score of Player 1 after turn 4 is :  28 
Total score of Player 2 after turn 4 is :  22
Total score of Player 1 after turn 5 is :  33 
Total score of Player 2 after turn 5 is :  27
Total score of Player 1 after turn 6 is :  35 
Total score of Player 2 after turn 6 is :  33
Total score of Player 1 after turn 7 is :  36 
Total score of Player 2 after turn 7 is :  42
Total score of Player 1 after turn 8 is :  38 
Total score of Player 2 after turn 8 is :  50
Total score of Player 1 after turn 9 is :  45 
Total score of Player 2 after turn 9 is :  55
Total score of Player 1 after turn 10 is :  48 
Total score of Player 2 after turn 10 is :  61
Total score of Player 1 after turn 11 is :  54 
Total score of Player 2 after turn 11 is :  64
Total score of Player 1 after turn 12 is :  57 
Total score of Player 2 after turn 12 is :  70
Total score of Player 1 after turn 13 is :  66 
Total score of Player 2 after turn 13 is :  73
Total score of Player 1 after turn 14 is :  72 
Total score of Player 2 after turn 14 is :  75
Total score of Player 1 after turn 15 is :  79 
Total score of Player 2 after turn 15 is :  76
Total score of Player 1 after turn 16 is :  81 
Total score of Player 2 after turn 16 is :  77
Total score of Player 1 after turn 17 is :  89 
Total score of Player 2 after turn 17 is :  81
Total score of Player 1 after turn 18 is :  95 
Total score of Player 2 after turn 18 is :  90
Total score of Player 1 after turn 19 is :  97 
Total score of Player 2 after turn 19 is :  99
Total score of Player 1 after turn 20 is :  102 

Player 1 wins the game

Este artículo es una contribución de Manjeet Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *