Atsitiktinis reiškia duomenų ar informacijos rinkinį, kuris gali būti prieinamas bet kokia tvarka. The atsitiktinis modulis python naudojamas atsitiktinėms eilutėms generuoti. Atsitiktinė eilutė susideda iš skaičių, simbolių ir skyrybos ženklų serijų, kuriose gali būti bet koks šablonas. Atsitiktinis modulis turi du metodus random.choice() ir paslaptys.pasirinkimas() , kad sukurtumėte saugią eilutę. Supraskime, kaip sugeneruoti atsitiktinę eilutę naudojant random.choice() ir secrets.choice() metodus pitonas .
Naudojant random.choice()
The random.choice() Funkcija naudojama python eilutėje, kad sugeneruotų simbolių ir skaitmenų seką, kuri gali pakartoti eilutę bet kokia tvarka.
Sukurkite programą, kuri generuotų atsitiktinę eilutę naudodami random.choices() funkciją.
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
Išvestis:
stdin c
Toliau pateikiamas metodas, naudojamas atsitiktiniam moduliui, generuojant atsitiktinę eilutę.
slinkties ratukas neveikia
Metodai | apibūdinimas |
---|---|
String.ascii_letters | Jis grąžina atsitiktinę eilutę, kurioje yra tiek didžiųjų, tiek mažųjų raidžių. |
Eilutė_ascii_didžioji raidė | Tai atsitiktinis eilutės metodas, kuris grąžina eilutę tik didžiosiomis raidėmis. |
String.ascii_lowercase | Tai atsitiktinis eilutės metodas, kuris grąžina eilutę tik mažosiomis raidėmis. |
Styga.skaitmenys | Tai atsitiktinės eilutės metodas, kuris grąžina eilutę su skaitiniais simboliais. |
Styga.skyrybos ženklai | Tai atsitiktinis eilutės metodas, kuris grąžina eilutę su skyrybos ženklais. |
Sugeneruokite atsitiktinę didžiųjų ir mažųjų raidžių eilutę
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
Išvestis:
Atsitiktinė nurodytų simbolių eilutė
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)
Išvestis:
Pastaba: Metodas random.choice() naudojamas python programoje, norint kartoti tas pačias simbolių eilutes. Jei nenorime rodyti pasikartojančių simbolių, turėtume naudoti funkciją random.sample().
Sugeneruokite atsitiktinę eilutę nekartodami tų pačių simbolių
BeRepeat.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)
Išvestis:
Kaip matome aukščiau pateiktoje išvestyje, random.sample() metodas grąžina eilutę, kurioje visi simboliai yra unikalūs ir nesikartoja. Tuo tarpu random.choice() metodas grąžina eilutę, kurioje gali būti pasikartojančių simbolių. Taigi, galime pasakyti, kad jei norime sugeneruoti unikalią atsitiktinę eilutę, naudokite Atsitiktinis pavyzdys () metodas.
uml diagrama java
Sugeneruokite atsitiktinę raidinę ir skaitmeninę eilutę, kurią sudaro fiksuotos raidės ir skaitmenys
Pavyzdžiui, tarkime, kad norime atsitiktinai sugeneruotos raidinės ir skaitmeninės eilutės, kurią sudaro penkios raidės ir keturi skaitmenys. Šiuos parametrus turime apibrėžti funkcijoje.
java cast int į eilutę
Parašykime programą, kuri sugeneruotų raidinę ir skaitmeninę eilutę, kurioje yra fiksuotas skaičius raidžių ir skaitmenų.
fixString.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))
Išvestis:
Naudojant secrets.choice()
Secrets.choice() metodas naudojamas saugesnei atsitiktinei eilutei generuoti nei random.choice(). Tai kriptografiškai atsitiktinių eilučių generatorius, užtikrinantis, kad naudojant secrets.choice() metodą, jokie du procesai negalėtų gauti tų pačių rezultatų vienu metu.
Parašykime programą, kuri spausdintų saugią atsitiktinę eilutę, naudodami secrets.choice metodą.
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))
Išvestis:
Norėdami sugeneruoti saugią atsitiktinę eilutę, naudokite kitą atsitiktinio modulio metodą.
Parašykime programą saugioms atsitiktinėms eilutėms spausdinti naudodami skirtingus secrets.choice() metodus.
Secret.py
konvertuoti str į int
# 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))
Išvestis: