Python | Ģenerējiet nejaušu noteikta garuma virkni

Problēma ar nejaušu skaitļu ģenerēšanu ir diezgan izplatīta parādība, taču dažreiz mums ir lietojumprogrammas, kurās tas ir jāuzlabo un jānodrošina funkcionalitāte nejaušas ciparu un alfabēta virknes ģenerēšanai tādām lietojumprogrammām kā paroles. Apspriedīsim dažus veidus, kā to var veikt Python . Šeit mēs izmantosim nejaušu virkņu ģenerēšanu ar lielajiem burtiem un cipariem

1. metode: ģenerējiet nejaušu virkni, izmantojot random.choices()

Šis random.choices() izlases moduļa funkcija var palīdzēt mums sasniegt šo uzdevumu un nodrošina viena līnijas alternatīvu visai cilpai, kas varētu būt nepieciešama šim konkrētajam uzdevumam. Darbojas ar Python> v3.6.

  • String.ascii_uppercase – Tas atgriež virkni ar lielajiem burtiem.
  • String.cipari - Tas atgriež virkni ar cipariem.
  • String.pieturzīmes – Tas atgriež virkni ar pieturzīmēm
  • String.ascii_letters - Tas atgriež virkni, kurā ir dažādi gadījumi.
  • String.ascii_lowercase – Tas atgriež virkni ar mazajiem burtiem.

1. piemērs. Nejaušas virknes ģenerēšana ar lielajiem burtiem

Python3




import> string> import> random> # initializing size of string> N> => 7> # using random.choices()> # generating random strings> res> => ''.join(random.choices(string.ascii_uppercase> +> > string.digits, k> => N))> # print result> print> (> 'The generated random string : '> +> str> (res))>

Izvade:

The generated random string : 0D5YE91 

2. piemērs: ģenerējiet a nejauši noteikta garuma virkne ar mazajiem burtiem

Python3




import> string> import> random> # initializing size of string> N> => 7> # using random.choices()> # generating random strings> res> => ''.join(random.choices(string.ascii_lowercase> +> > string.digits, k> => N))> # print result> print> (> 'The generated random string : '> +> str> (res))>

Izvade:

The generated random string : ipxktny 

3. piemērs: ģenerējiet nejaušu noteikta garuma virkni ar lielajiem un mazajiem burtiem

Python3




import> string> import> random> # initializing size of string> N> => 7> # using random.choices()> # generating random strings> res> => ''.join(random.choices(string.ascii_letters, k> => N))> # print result> print> (> 'The generated random string : '> +> str> (res))>

Izvade:

The generated random string : ALpxvmI 

2. metode: ģenerējiet nejaušu virkni, izmantojot secrets.choice()

Mēs varam Izmantojot Python, ģenerējiet izlases virknes un paroles noslēpumi.izvēle(). Kriptogrāfiski drošākiem nejaušiem skaitļiem šo slepenā moduļa funkciju var izmantot, jo tā iekšējais algoritms ir izveidots tā, lai ģenerētu mazāk paredzamus nejaušus skaitļus.

Python3




import> secrets> import> string> # initializing size of string> N> => 7> # using secrets.choice()> # generating random strings> res> => ''.join(secrets.choice(string.ascii_uppercase> +> string.digits)> > for> i> in> range> (N))> # print result> print> (> 'The generated random string : '> +> str> (res))>

Izvade:

The generated random string : T7HPKVR 

Pieeja :

Importējiet nepieciešamos moduļus: izlases un virknes.
Definējiet funkciju gener_random_string, kas ņem parametra garumu, lai noteiktu ģenerējamās nejaušās virknes garumu.
Izmantojiet string.ascii_letters, lai iegūtu visus ASCII burtus ar mazajiem un lielajiem burtiem.
Izmantojiet random.choice, lai nejauši izvēlētos rakstzīmes no burtiem noteiktā virknes garumā un savienotu tās, izmantojot .join().
Atgrieziet ģenerēto virkni.
Izmantojiet funkciju, ievadot vajadzīgo garumu, lai ģenerētu nejaušu virkni.

Python3




import> random> import> string> def> generate_random_string(length):> > # Get all the ASCII letters in lowercase and uppercase> > letters> => string.ascii_letters> > # Randomly choose characters from letters for the given length of the string> > random_string> => ''.join(random.choice(letters)> for> i> in> range> (length))> > return> random_string> # Example usage: generate a random string of length 10> random_string> => generate_random_string(> 10> )> print> (random_string)>

Izvade

mFPltLThhj 

Laika sarežģītība: O(n), kur n ir vēlamās nejaušās virknes garums.

Papildtelpa: O(n), kur n ir vēlamās nejaušās virknes garums.