Función Python | randint ()

| | | | | | | | | | | | | | | | |

Sintaxis:

randint (inicio, final) 

Parámetros:

(inicio, final):  Ambos deben ser valores de tipo entero. 

Devuelve:

Un número entero aleatorio dentro del rango dado como parámetros. 

Errores y excepciones:

ValueError:  Devuelve un ValueError cuando los valores de punto flotante ‚Äã‚Äã se pasan como parámetros. TypeError:  devuelve un TypeError cuando se pasan como parámetros algo que no sean valores numéricos ‚Äã‚Äã. 

Código # 1:

# Programa Python3 explicando cómo funciona
# función randint()


# importa un módulo aleatorio

importar aleatorio


# Genera un número aleatorio entre

# rango positivo especificado

r1 = aleatorio.randint ( 0 , 10 )

imprimir ( "Número aleatorio entre 0 y 10 es% s" % < /código> (r1))


# Genera un número aleatorio entre
# dos rangos negativos especificados

r2 = aleatorio.randint ( - 10 , - 1 )

print ( "Número aleatorio entre -10 y -1 es% d" % (r2))


# Genera un número aleatorio entre
# rangos positivos y negativos

r3 = random.randint ( - 5 , 5 )

imprimir ( "Número aleatorio entre -5 y 5 es% d" % (r3))

Salida:

Número aleatorio entre 0 y 10 es 5 Número aleatorio entre -10 y -1 es -7 Número aleatorio entre -5 y 5 es 2 

Código # 2 : Programa que muestra ValueError.


# importa un módulo aleatorio

importar aleatorio


' ' ' Si pasamos los valores de coma flotante ​​as
parámetros en la función randint () ' ' '


r1 = aleatorio. randint ( 1.23 , 9.34 )

imprimir (r1)

Salir:

Rastreo (última llamada más reciente): Archivo "/home/f813370b9ea61dd5d55d7dadc8ed5171.py", línea 6, en r1 = random.randint (1.23, 9.34) Archivo "/usr /lib/python3.5/random.py", línea 218, en randint return self.randrange (a, b + 1) Archivo" /usr/lib/python3. 5/random.py ", línea 182, en randrange aumentar ValueError ("no entero arg 1 para randrange ()") ValueError: no entero arg 1 para randrange () 

Código # 3: Programa que muestra TypeError.


# importaciones aleatorias

importar < clase de código ="normal "> aleatorio


' ' ' Si pasamos cadenas o caracteres literales como parámetros

en la función randint() ' ' '


r2 = aleatorio. randint ( `a` , `z` < clase de código ="simple ">)

imprimir (r2)

Salida:

Rastreo (última llamada más reciente): Archivo "/home/fb805b21fea0e29c6a65f62b99998953.py", línea 5, en r2 = random.randint (`a`, `z`) File" /usr/lib/python3.5/random.py ", línea 218, en randint return self.randrange (a, b + 1) TypeError : No se puede convertir el objeto `int` en str implícitamente 

Aplicaciones:

La función randint() se puede usar para simular una situación de sorteo.

Digamos que el usuario participó en un concurso de sorteo. El usuario tiene tres oportunidades para adivinar el número del 1 al 10. Si acierta, el usuario gana, de lo contrario, pierde.


# import de la función randint
# de un módulo aleatorio

de aleatorio importar randint


# Una función que genera una nueva
# un número aleatorio cada vez que se ejecuta

def generador ():

return randint ( 1 , 10 )


# La función acepta la entrada del usuario y devuelve
# verdadero o falso dependiendo de si
# ¡el usuario ganó un sorteo!

def rand_guess():

# llama al generador (), que devuelve

# entero aleatorio del 1 al 10

número_aleatorio = generador ()


# cuantificación

# adivina que el usuario obtiene

adivinar_izquierda = 3

# Establecer una variable de indicador en comprobar

# condición ganadora para el usuario

flag = 0


# bucle número de veces

# usuario tiene oportunidades

while adivinar _left > ; 0 :


# Aceptar entrada de usuario

adivinar = int ( entrada ( "Elige tu número para"

"ingresa al sorteo" ))


# comprobar si la suposición del usuario es correcta

# coincide con la condición ganadora generada

if adivinar < clase de código ="palabra clave"> = = número_aleatorio:


# establecer el indicador en 1 si el usuario lo adivina

# correcto y luego el ciclo termina

flag = 1

break


else :


# Si la elección del usuario no coincide

# win-condition, luego se imprime

print ( "¡¡Suposición incorrecta!!" )


# Disminuir cantidad

# conjeturas dejadas por 1

adivinar_izquierda - = < código clase = "valor"> 1


# Si se cumple la condición ganadora

# la función rand_guess devuelve True

si bandera es 1 :

retorno Verdadero


# De lo contrario, la función devuelve False

else :

return Falso


# código del controlador

si __ nombre__ = < clase de código = "palabra clave" > = `__principal__` :

si rand_guess () es Verdadero :

imprimir ( " ¡Felicidades! Tú ganas. " )

else :

print ( "¡Lo siento, perdiste!" )

Salida:

Elige tu número para participar en el sorteo 8 Adivinación incorrecta Elige tu número para participar en el sorteo 9 Adivinación incorrecta Elija su número para participar en el sorteo de la suerte 0 ¡Felicidades! Usted gana.