Et tilfældigt refererer til indsamlingen af data eller information, der kan være tilgængelig i enhver rækkefølge. Det tilfældig modul i python bruges til at generere tilfældige strenge. Den tilfældige streng består af tal, tegn og tegnsætningsserier, der kan indeholde ethvert mønster. Det tilfældige modul indeholder to metoder random.choice() og secrets.choice() , for at generere en sikker streng. Lad os forstå, hvordan man genererer en tilfældig streng ved hjælp af random.choice()- og secrets.choice()-metoden i python .
Brug af random.choice()
Det random.choice() funktion bruges i pythonstrengen til at generere sekvensen af tegn og cifre, der kan gentage strengen i vilkårlig rækkefølge.
Opret et program til at generere en tilfældig streng ved hjælp af random.choices()-funktionen.
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
Produktion:
Følgende er den metode, der bruges i det tilfældige modul til at generere den tilfældige streng.
Metoder | Beskrivelse |
---|---|
String.ascii_letters | Det returnerer en tilfældig streng, der indeholder både store og små bogstaver. |
String_ascii_store bogstaver | Det er en tilfældig strengmetode, der kun returnerer en streng med store bogstaver. |
String.ascii_små bogstaver | Det er en tilfældig strengmetode, der kun returnerer en streng med små bogstaver. |
Streng.cifre | Det er en tilfældig strengmetode, der returnerer en streng med numeriske tegn. |
Streng.tegnsætning | Det er en tilfældig strengmetode, der returnerer en streng med tegnsætningstegn. |
Generer en tilfældig række af store og små bogstaver
UprLwr.py
java main
# 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
Produktion:
Tilfældig streng af specificerede tegn
Specific.py
rr algoritme
# 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)
Produktion:
Bemærk: Metoden random.choice() bruges i python-programmet til at gentage de samme tegnstrenge. Hvis vi ikke ønsker at vise gentagne tegn, skal vi bruge funktionen random.sample().
Generer en tilfældig streng uden at gentage de samme tegn
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)
Produktion:
Som vi kan se i ovenstående output, returnerer random.sample() metoden en streng, hvor alle tegn er unikke og ikke-gentagende. Hvorimod random.choice()-metoden returnerer en streng, der kan indeholde gentagne tegn. Så vi kan sige, at hvis vi vil generere en unik tilfældig streng, så brug random.sample () metode.
Generer en tilfældig alfanumerisk streng bestående af faste bogstaver og cifre
Antag for eksempel, at vi ønsker en tilfældigt genereret alfanumerisk streng, der indeholder fem bogstaver og fire cifre. Vi skal definere disse parametre i funktionen.
Lad os skrive et program til at generere en alfanumerisk streng, der indeholder et fast antal bogstaver og cifre.
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))
Produktion:
Brug af secrets.choice()
En secrets.choice() metode bruges til at generere en mere sikker tilfældig streng end random.choice(). Det er en kryptografisk tilfældig strenggenerator, der sikrer, at ikke to processer kan opnå de samme resultater samtidigt ved hjælp af secrets.choice() metoden.
Lad os skrive et program til at udskrive en sikker tilfældig streng ved hjælp af secrets.choice-metoden.
hiba bukhari
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))
Produktion:
Brug den anden metode for det tilfældige modul til at generere en sikker tilfældig streng.
Lad os skrive et program til at udskrive sikre tilfældige strenge ved hjælp af forskellige metoder til 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))
Produktion: