Problém generovania náhodných čísel je pomerne bežný, ale niekedy máme aplikácie, ktoré od nás vyžadujú, aby sme to zlepšili a poskytli určitú funkčnosť generovania náhodného reťazca číslic a abecied pre aplikácie, ako sú heslá. Poďme diskutovať o určitých spôsoboch, ako to možno vykonať v Pythone. Tu použijeme generovanie náhodného reťazca s veľkými písmenami a číslicami
Metóda 1: Vygenerujte náhodný reťazec pomocou random.choices()
Toto random.choices() funkcia náhodného modulu nám môže pomôcť dosiahnuť túto úlohu a poskytuje jednoradovú alternatívu k celej slučke, ktorá môže byť potrebná pre túto konkrétnu úlohu. Funguje s Pythonom> v3.6.
- String.ascii_uppercase – Vráti reťazec s veľkými písmenami.
- Reťazec.číslice – Vráti reťazec s číslicami.
- Reťazec.interpunkcia – Vráti reťazec s interpunkciou
- String.ascii_letters – Vráti reťazec obsahujúci rôzne prípady.
- String.ascii_lowercase – Vráti reťazec s malými písmenami.
Príklad 1: Náhodné generovanie reťazca s veľkými písmenami
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))> |
>
>
Výkon :
latexová matrica
The generated random string : 0D5YE91>
Príklad 2: Vygenerujte a náhodný reťazec danej dĺžky malými písmenami
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))> |
>
>
Výkon:
The generated random string : ipxktny>
Príklad 3: Vygenerujte náhodný reťazec danej dĺžky veľkými a malými písmenami
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))> |
>
>
Výkon:
The generated random string : ALpxvmI>
Metóda 2: Vygenerujte náhodný reťazec pomocou secrets.choice()
Môžeme Generujte náhodné reťazce a heslá v Pythone pomocou secrets.choice(). Pre kryptograficky bezpečnejšie náhodné čísla možno túto funkciu tajného modulu použiť, pretože jeho vnútorný algoritmus je zostavený tak, aby generoval menej predvídateľné náhodné čísla.
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))> |
>
>Výkon :
The generated random string : T7HPKVR>
Prístup :
Importujte potrebné moduly: náhodné a reťazcové.
Definujte funkciu s názvom create_random_string, ktorá má dĺžku parametra na určenie dĺžky náhodného reťazca, ktorý sa má vygenerovať.
Použite string.ascii_letters na získanie všetkých písmen ASCII na malé a veľké písmená.
Použite random.choice na náhodný výber znakov z písmen pre danú dĺžku reťazca a zreťazte ich pomocou .join().
Vráti vygenerovaný reťazec.
Použite funkciu zadaním požadovanej dĺžky na vygenerovanie náhodného reťazca.
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)> |
>
>Výkon
mFPltLThhj>
Časová zložitosť: O(n), kde n je dĺžka požadovaného náhodného reťazca.
Pomocný priestor: O(n), kde n je dĺžka požadovaného náhodného reťazca.