logo

Python Program pro generování náhodného řetězce

Náhodou se rozumí shromažďování dat nebo informací, které mohou být dostupné v libovolném pořadí. The náhodný modul v pythonu se používá ke generování náhodných řetězců. Náhodný řetězec se skládá z čísel, znaků a interpunkčních řad, které mohou obsahovat libovolný vzor. Náhodný modul obsahuje dvě metody random.choice() a secrets.choice() , pro vygenerování zabezpečeného řetězce. Pojďme pochopit, jak vygenerovat náhodný řetězec pomocí metod random.choice() a secrets.choice() v krajta .

Python Program pro generování náhodného řetězce

Použití random.choice()

The random.choice() Funkce se používá v řetězci python ke generování sekvence znaků a číslic, které mohou řetězec opakovat v libovolném pořadí.

Vytvořte program pro generování náhodného řetězce pomocí funkce 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 

Výstup:

chyba atributu python
Python Program pro generování náhodného řetězce

Následují metody používané v náhodném modulu pro generování náhodného řetězce.

zapouzdření java
Metody Popis
String.ascii_letters Vrací náhodný řetězec, který obsahuje velká i malá písmena.
String_ascii_uppercase Je to metoda náhodného řetězce, která vrací řetězec pouze velkými písmeny.
String.ascii_lowercase Je to metoda náhodného řetězce, která vrací řetězec pouze malými písmeny.
Řetězec.číslice Je to metoda náhodného řetězce, která vrací řetězec s číselnými znaky.
Řetězec.interpunkce Je to metoda náhodného řetězce, která vrací řetězec s interpunkčními znaky.

Vygenerujte náhodný řetězec velkých a malých písmen

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 

Výstup:

Python Program pro generování náhodného řetězce

Náhodný řetězec zadaných znaků

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) 

Výstup:

Python Program pro generování náhodného řetězce

Poznámka: Metoda random.choice() se používá v programu python k opakování stejných řetězců znaků. Pokud nechceme zobrazovat opakující se znaky, měli bychom použít funkci random.sample().

Vygenerujte náhodný řetězec bez opakování stejných znaků

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) 

Výstup:

Python Program pro generování náhodného řetězce

Jak můžeme vidět na výše uvedeném výstupu, metoda random.sample() vrací řetězec, ve kterém jsou všechny znaky jedinečné a neopakující se. Zatímco metoda random.choice() vrací řetězec, který může obsahovat opakující se znaky. Můžeme tedy říci, že pokud chceme vygenerovat jedinečný náhodný řetězec, použijte náhodný vzorek () metoda.

mvc v jarním rámci

Vygenerujte náhodný alfanumerický řetězec skládající se z pevných písmen a číslic

Předpokládejme například, že chceme náhodně vygenerovaný alfanumerický řetězec, který obsahuje pět písmen a čtyři číslice. Tyto parametry musíme definovat do funkce.

np.concatenate

Pojďme napsat program, který vygeneruje alfanumerický řetězec, který obsahuje pevný počet písmen a číslic.

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

Výstup:

Python Program pro generování náhodného řetězce

Pomocí secrets.choice()

Metoda secrets.choice() se používá ke generování bezpečnějšího náhodného řetězce než random.choice(). Jedná se o kryptograficky náhodný generátor řetězců, který zajišťuje, že žádné dva procesy nemohou získat stejné výsledky současně pomocí metody secrets.choice().

Pojďme napsat program pro tisk bezpečného náhodného řetězce pomocí metody 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)) 

Výstup:

Python Program pro generování náhodného řetězce

Ke generování bezpečného náhodného řetězce použijte jinou metodu náhodného modulu.

Pojďme napsat program pro tisk bezpečných náhodných řetězců pomocí různých metod secrets.choice().

Secret.py

jak odhalit skryté aplikace
 # 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)) 

Výstup:

Python Program pro generování náhodného řetězce