logo

Program w Pythonie do generowania losowego ciągu

Losowość odnosi się do zbioru danych lub informacji, które mogą być dostępne w dowolnej kolejności. The losowy moduł w Pythonie służy do generowania losowych ciągów znaków. Losowy ciąg znaków składa się z cyfr, znaków i serii znaków interpunkcyjnych, które mogą zawierać dowolny wzór. Moduł losowy zawiera dwie metody losowy.wybór() I sekrety.wybór() , aby wygenerować bezpieczny ciąg. Przyjrzyjmy się, jak wygenerować losowy ciąg znaków przy użyciu metod random.choice() i secrets.choice() w pyton .

Program w Pythonie do generowania losowego ciągu

Korzystanie z random.choice()

The losowy.wybór() Funkcja jest używana w ciągu Pythona do generowania sekwencji znaków i cyfr, które mogą powtarzać ciąg w dowolnej kolejności.

Utwórz program generujący losowy ciąg znaków za pomocą funkcji 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 

Wyjście:

Program w Pythonie do generowania losowego ciągu

Poniżej przedstawiono metodę używaną w module losowym do generowania losowego ciągu.

Metody Opis
String.ascii_lettery Zwraca losowy ciąg znaków zawierający zarówno wielkie, jak i małe litery.
String_ascii_uppercase Jest to metoda losowego ciągu znaków, która zwraca tylko ciąg znaków zapisany wielkimi literami.
String.ascii_lowercase Jest to metoda losowego ciągu znaków, która zwraca ciąg znaków zawierający tylko małe litery.
Ciąg.cyfry Jest to metoda losowego ciągu znaków, która zwraca ciąg znaków zawierający znaki numeryczne.
Ciąg.interpunkcja Jest to metoda losowego ciągu znaków, która zwraca ciąg znaków ze znakami interpunkcyjnymi.

Wygeneruj losowy ciąg wielkich i małych liter

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 

Wyjście:

Program w Pythonie do generowania losowego ciągu

Losowy ciąg określonych znaków

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

Wyjście:

Program w Pythonie do generowania losowego ciągu

Uwaga: Metoda random.choice() jest używana w programie Pythona do powtarzania tych samych ciągów znaków. Jeśli nie chcemy wyświetlać powtarzających się znaków, powinniśmy skorzystać z funkcji random.sample().

Wygeneruj losowy ciąg znaków bez powtarzania tych samych znaków

BezRepeat.py

przekształć ciąg na int
 # 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) 

Wyjście:

jak wyśrodkować obraz w css
Program w Pythonie do generowania losowego ciągu

Jak widać na powyższym wyniku, metoda random.sample() zwraca ciąg znaków, w którym wszystkie znaki są unikalne i niepowtarzalne. Natomiast metoda random.choice() zwraca ciąg znaków, który może zawierać powtarzające się znaki. Możemy więc powiedzieć, że jeśli chcemy wygenerować unikalny losowy ciąg znaków, użyj losowa próbka () metoda.

Wygeneruj losowy ciąg alfanumeryczny składający się ze stałych liter i cyfr

Załóżmy na przykład, że chcemy losowo wygenerowanego ciągu alfanumerycznego zawierającego pięć liter i cztery cyfry. Musimy zdefiniować te parametry w funkcji.

Napiszmy program generujący ciąg alfanumeryczny zawierający stałą liczbę liter i cyfr.

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

Wyjście:

Program w Pythonie do generowania losowego ciągu

Korzystanie z funkcji secrets.choice()

Metoda secrets.choice() służy do generowania bezpieczniejszego losowego ciągu niż random.choice(). Jest to generator kryptograficznie losowych ciągów znaków, który gwarantuje, że żadne dwa procesy nie będą mogły uzyskać jednocześnie tych samych wyników przy użyciu metody secrets.choice().

Napiszmy program, który wypisze bezpieczny losowy ciąg znaków przy użyciu 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)) 

Wyjście:

Program w Pythonie do generowania losowego ciągu

Użyj innej metody modułu losowego, aby wygenerować bezpieczny losowy ciąg znaków.

Napiszmy program, który wypisuje bezpieczne losowe ciągi znaków przy użyciu różnych metod secrets.choice().

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

Wyjście:

Program w Pythonie do generowania losowego ciągu