Случайното се отнася до събирането на данни или информация, които могат да бъдат налични в произволен ред. The случаен модул в python се използва за генериране на произволни низове. Произволният низ се състои от числа, знаци и препинателни знаци, които могат да съдържат произволен шаблон. Случайният модул съдържа два метода random.choice() и secrets.choice() , за генериране на защитен низ. Нека разберем как да генерираме произволен низ с помощта на метода random.choice() и secrets.choice() в питон .
Използване на random.choice()
The random.choice() функцията се използва в низа на Python за генериране на поредица от знаци и цифри, които могат да повтарят низа в произволен ред.
компютърни мрежи
Създайте програма за генериране на произволен низ с помощта на функцията 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
Изход:
Следва методът, използван в произволния модул за генериране на произволен низ.
Методи | Описание |
---|---|
String.ascii_букви | Той връща произволен низ, който съдържа главни и малки букви. |
String_ascii_главен регистър | Това е метод на случаен низ, който връща само низ с главни букви. |
String.ascii_малки букви | Това е метод на случаен низ, който връща низ само с малки букви. |
Низ.цифри | Това е метод на случаен низ, който връща низ с цифрови знаци. |
Низ.пунктуация | Това е метод на случаен низ, който връща низ с препинателни знаци. |
Генерирайте произволен низ от главни и малки букви
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
Изход:
Произволен низ от определени знаци
Конкретен.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)
Изход:
Забележка: Методът random.choice() се използва в програмата на Python за повтаряне на същите символни низове. Ако не искаме да показваме повтарящи се знаци, трябва да използваме функцията random.sample().
Генерирайте произволен низ без повтаряне на едни и същи знаци
inurl:.git/head
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)
Изход:
Както можем да видим в горния изход, методът random.sample() връща низ, в който всички символи са уникални и не се повтарят. Като има предвид, че методът random.choice() връща низ, който може да съдържа повтарящи се знаци. Така че можем да кажем, че ако искаме да генерираме уникален произволен низ, използвайте произволна.проба () метод.
Генерирайте произволен буквено-цифров низ, състоящ се от фиксирани букви и цифри
Да предположим например, че искаме произволно генериран буквено-цифров низ, който съдържа пет букви и четири цифри. Трябва да дефинираме тези параметри във функцията.
Нека напишем програма за генериране на буквено-цифров низ, който съдържа фиксиран брой букви и цифри.
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))
Изход:
карта срещу набор
Използване на secrets.choice()
Методът secrets.choice() се използва за генериране на по-сигурен случаен низ от random.choice(). Това е генератор на криптографски произволни низове, който гарантира, че два процеса не могат да получат едни и същи резултати едновременно с помощта на метода secrets.choice().
Нека напишем програма за отпечатване на защитен произволен низ, използвайки метода 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))
Изход:
Използвайте различния метод на произволния модул, за да генерирате безопасен произволен низ.
Нека напишем програма за отпечатване на защитени произволни низове, използвайки различни методи на 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))
Изход: