Un azar se refiere a la recopilación de datos o información que puede estar disponible en cualquier orden. El aleatorio módulo en Python se utiliza para generar cadenas aleatorias. La cadena aleatoria consta de números, caracteres y series de puntuación que pueden contener cualquier patrón. El módulo aleatorio contiene dos métodos. elección.aleatoria() y secretos.elección() , para generar una cadena segura. Entendamos cómo generar una cadena aleatoria usando el método random.choice() y secrets.choice() en pitón .
Usando elección aleatoria ()
El elección.aleatoria() La función se utiliza en la cadena de Python para generar la secuencia de caracteres y dígitos que pueden repetir la cadena en cualquier orden.
Cree un programa para generar una cadena aleatoria usando la función random.choices().
Random_str.py
import string import random # define the random module S = 10 # number of characters in the string. # call random.choices() string module to find the string in Uppercase + numeric data. ran = ''.join(random.choices(string.ascii_uppercase + string.digits, k = S)) print('The randomly generated string is : ' + str(ran)) # print the random data
Producción:
A continuación se muestra el método utilizado en el módulo aleatorio para generar la cadena aleatoria.
Métodos | Descripción |
---|---|
Cadena.ascii_letters | Devuelve una cadena aleatoria que contiene caracteres en mayúsculas y minúsculas. |
cadena_ascii_mayúsculas | Es un método de cadena aleatorio que solo devuelve una cadena en caracteres en mayúscula. |
Cadena.ascii_minúsculas | Es un método de cadena aleatorio que devuelve una cadena sólo en caracteres en minúscula. |
Cadena.digitos | Es un método de cadena aleatoria que devuelve una cadena con caracteres numéricos. |
Puntuación.de.cadena | Es un método de cadena aleatorio que devuelve una cadena con caracteres de puntuación. |
Genera una cadena aleatoria de letras mayúsculas y minúsculas
UprLwr.py
# write a program to generate the random string in upper and lower case letters. import random import string def Upper_Lower_string(length): # define the function and pass the length as argument # Print the string in Lowercase result = ''.join((random.choice(string.ascii_lowercase) for x in range(length))) # run loop until the define length print(' Random string generated in Lowercase: ', result) # Print the string in Uppercase result1 = ''.join((random.choice(string.ascii_uppercase) for x in range(length))) # run the loop until the define length print(' Random string generated in Uppercase: ', result1) Upper_Lower_string(10) # define the length
Producción:
cómo cerrar el modo desarrollador
Cadena aleatoria de caracteres especificados
Specific.py
# create a program to generate the random string of given letters. import random import string def specific_string(length): sample_string = 'pqrstuvwxy' # define the specific string # define the condition for random string result = ''.join((random.choice(sample_string)) for x in range(length)) print(' Randomly generated string is: ', result) specific_string(8) # define the length specific_string(10)
Producción:
Nota: El método random.choice() se utiliza en el programa Python para repetir las mismas cadenas de caracteres. Si no queremos mostrar caracteres repetitivos, debemos usar la función random.sample().
Genera una cadena aleatoria sin repetir los mismos caracteres
WithoutRepeat.py
# create a program to generate a string with or without repeating the characters. import random import string print('Use of random.choice() method') def specific_string(length): letters = string.ascii_lowercase # define the lower case string # define the condition for random.choice() method result = ''.join((random.choice(letters)) for x in range(length)) print(' Random generated string with repetition: ', result) specific_string(8) # define the length specific_string(10) print('') # print the space print('Use of random.sample() method') def WithoutRepeat(length): letters = string.ascii_lowercase # define the specific string # define the condition for random.sample() method result1 = ''.join((random.sample(letters, length))) print(' Random generated string without repetition: ', result1) WithoutRepeat(8) # define the length WithoutRepeat(10)
Producción:
Como podemos ver en el resultado anterior, el método random.sample() devuelve una cadena en la que todos los caracteres son únicos y no se repiten. Mientras que el método random.choice() devuelve una cadena que puede contener caracteres repetitivos. Entonces, podemos decir que si queremos generar una cadena aleatoria única, use muestra aleatoria () método.
Genere una cadena alfanumérica aleatoria que consta de letras y dígitos fijos
Por ejemplo, supongamos que queremos una cadena alfanumérica generada aleatoriamente que contenga cinco letras y cuatro dígitos. Necesitamos definir estos parámetros en la función.
Escribamos un programa para generar una cadena alfanumérica que contenga un número fijo de letras y dígitos.
fixedString.py
import random import string def random_string(letter_count, digit_count): str1 = ''.join((random.choice(string.ascii_letters) for x in range(letter_count))) str1 += ''.join((random.choice(string.digits) for x in range(digit_count))) sam_list = list(str1) # it converts the string to list. random.shuffle(sam_list) # It uses a random.shuffle() function to shuffle the string. final_string = ''.join(sam_list) return final_string # define the length of the letter is eight and digits is four print('Generated random string of first string is:', random_string(8, 4)) # define the length of the letter is seven and digits is five print('Generated random string of second string is:', random_string(7, 5))
Producción:
Usando secretos.elección()
Se utiliza un método secrets.choice() para generar una cadena aleatoria más segura que random.choice(). Es un generador de cadenas criptográficamente aleatorio que garantiza que no haya dos procesos que puedan obtener los mismos resultados simultáneamente utilizando el método secrets.choice().
Escribamos un programa para imprimir una cadena aleatoria segura usando el método secrets.choice.
Secret_str.py
import random import string import secrets # import package num = 10 # define the length of the string # define the secrets.choice() method and pass the string.ascii_letters + string.digits as an parameters. res = ''.join(secrets.choice(string.ascii_letters + string.digits) for x in range(num)) # print the Secure string print('Secure random string is :'+ str(res))
Producción:
Utilice el método diferente del módulo aleatorio para generar una cadena aleatoria segura.
Escribamos un programa para imprimir cadenas aleatorias seguras usando diferentes métodos de secrets.choice().
Secret.py
# write a program to display the different random string method using the secrets.choice(). # imports necessary packages import random import string import secrets num = 10 # define the length of the string # define the secrets.choice() method and pass the string.ascii_letters + string.digits as an parameters. res = ''.join(secrets.choice(string.ascii_letters + string.digits) for x in range(num)) # Print the Secure string with the combination of ascii letters and digits print('Secure random string is :'+ str(res)) res = ''.join(secrets.choice(string.ascii_letters) for x in range(num)) # Print the Secure string with the combination of ascii letters print('Secure random string is :'+ str(res)) res = ''.join(secrets.choice(string.ascii_uppercase) for x in range(num)) # Print the Secure string in Uppercase print('Secure random string is :'+ str(res)) res = ''.join(secrets.choice(string.ascii_lowercase) for x in range(num)) # Print the Secure string in Lowercase print('Secure random string is :'+ str(res)) res = ''.join(secrets.choice(string.ascii_letters + string.punctuation) for x in range(num)) # Print the Secure string with the combination of letters and punctuation print('Secure random string is :'+ str(res)) res = ''.join(secrets.choice(string.digits) for x in range(num)) # Print the Secure string using string.digits print('Secure random string is :'+ str(res)) res = ''.join(secrets.choice(string.ascii_letters + string.digits + string.punctuation) for x in range(num)) # Print the Secure string with the combonation of letters, digits and punctuation print('Secure random string is :'+ str(res))
Producción: