logo

Programa Python per generar una cadena aleatòria

Un aleatori fa referència a la recollida de dades o informació que pot estar disponible en qualsevol ordre. El aleatòria mòdul en python s'utilitza per generar cadenes aleatòries. La cadena aleatòria està formada per números, caràcters i sèries de puntuació que poden contenir qualsevol patró. El mòdul aleatori conté dos mètodes random.choice() i secrets.choice() , per generar una cadena segura. Entendrem com generar una cadena aleatòria mitjançant el mètode random.choice() i secrets.choice() a pitó .

Programa Python per generar una cadena aleatòria

Utilitzant random.choice()

El random.choice() La funció s'utilitza a la cadena de Python per generar la seqüència de caràcters i dígits que poden repetir la cadena en qualsevol ordre.

Creeu un programa per generar una cadena aleatòria mitjançant la funció 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 

Sortida:

Programa Python per generar una cadena aleatòria

A continuació es mostra el mètode utilitzat al mòdul aleatori per generar la cadena aleatòria.

Mètodes Descripció
String.ascii_letters Retorna una cadena aleatòria que conté caràcters en majúscules i minúscules.
String_ascii_majúscules És un mètode de cadena aleatòria que només retorna una cadena en majúscules.
String.ascii_minúscula És un mètode de cadena aleatòria que només retorna una cadena en minúscules.
Cadena.dígits És un mètode de cadena aleatòria que retorna una cadena amb caràcters numèrics.
Corda.puntuació És un mètode de cadena aleatòria que retorna una cadena amb caràcters de puntuació.

Genera una cadena aleatòria de lletres majúscules i minúscules

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 

Sortida:

Programa Python per generar una cadena aleatòria

Cadena aleatòria de caràcters especificats

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) 

Sortida:

Programa Python per generar una cadena aleatòria

Nota: el mètode random.choice() s'utilitza al programa Python per repetir les mateixes cadenes de caràcters. Si no volem mostrar caràcters repetitius, hauríem d'utilitzar la funció random.sample().

Genera una cadena aleatòria sense repetir els mateixos caràcters

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) 

Sortida:

Programa Python per generar una cadena aleatòria

Com podem veure a la sortida anterior, el mètode random.sample() retorna una cadena en què tots els caràcters són únics i no es repeteixen. Mentre que, el mètode random.choice() retorna una cadena que pot contenir caràcters repetitius. Per tant, podem dir que si volem generar una cadena aleatòria única, utilitzeu mostra aleatòria () mètode.

Genereu una cadena alfanumèrica aleatòria formada per lletres i dígits fixes

Per exemple, suposem que volem una cadena alfanumèrica generada aleatòriament que contingui cinc lletres i quatre dígits. Hem de definir aquests paràmetres a la funció.

Escrivim un programa per generar una cadena alfanumèrica que contingui un nombre fix de lletres i dígits.

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)) 

Sortida:

Programa Python per generar una cadena aleatòria

Utilitzant secrets.choice()

S'utilitza un mètode secrets.choice() per generar una cadena aleatòria més segura que random.choice(). És un generador de cadenes criptogràficament aleatori que assegura que no hi ha dos processos que puguin obtenir els mateixos resultats simultàniament mitjançant el mètode secrets.choice().

Escrivim un programa per imprimir una cadena aleatòria segura mitjançant el mètode 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)) 

Sortida:

Programa Python per generar una cadena aleatòria

Utilitzeu el mètode diferent del mòdul aleatori per generar una cadena aleatòria segura.

Escrivim un programa per imprimir cadenes aleatòries segures utilitzant diferents mètodes 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)) 

Sortida:

llista java immutable
Programa Python per generar una cadena aleatòria