Ongelma satunnaislukujen luomisesta on melko yleinen, mutta joskus meillä on sovelluksia, jotka vaativat meitä parantamaan sitä ja tarjoamaan joitakin toimintoja satunnaisten numeroiden ja aakkosten luomiseen sovelluksille, kuten salasanoille. Keskustellaan tietyistä tavoista, joilla tämä voidaan suorittaa Pythonissa. Tässä käytämme satunnaista merkkijonojen luontia isoilla kirjaimilla ja numeroilla
Tapa 1: Luo satunnainen merkkijono käyttämällä random.choices()
Tämä random.choices() satunnaisen moduulin toiminto voi auttaa meitä saavuttamaan tämän tehtävän ja tarjoaa yhden rivin vaihtoehdon koko silmukalle, joka saattaa olla tarpeen tässä tehtävässä. Toimii Pythonin kanssa> v3.6.
- String.ascii_uppercase – Se palauttaa merkkijonon isoilla kirjaimilla.
- String.digits – Se palauttaa merkkijonon numeroineen.
- Merkkijono.välimerkit – Se palauttaa merkkijonon välimerkeillä
- String.ascii_letters – Se palauttaa merkkijonon, joka sisältää erilaisia tapauksia.
- String.ascii_lowercase – Se palauttaa merkkijonon pienillä kirjaimilla.
Esimerkki 1: Satunnainen merkkijonojen luominen isoilla kirjaimilla
Python 3
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))> |
>
>
Lähtö:
nbsp
The generated random string : 0D5YE91>
Esimerkki 2: Luo a satunnainen tietynpituinen merkkijono pienillä kirjaimilla
Python 3
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))> |
>
>
Lähtö:
The generated random string : ipxktny>
Esimerkki 3: Luo tietynpituinen satunnainen merkkijono isoilla ja pienillä kirjaimilla
Python 3
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))> |
>
>
Lähtö:
The generated random string : ALpxvmI>
Tapa 2: Luo satunnainen merkkijono käyttämällä secrets.choice()
Me voimme Luo satunnaisia merkkijonoja ja salasanoja Pythonissa käyttämällä Secrets.choice(). Kryptografisesti turvallisempia satunnaislukuja varten tätä salaisen moduulin toimintoa voidaan käyttää, koska sen sisäinen algoritmi on kehystetty tavalla, joka tuottaa vähemmän ennustettavia satunnaislukuja.
Python 3
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))> |
>
>Lähtö:
The generated random string : T7HPKVR>
Lähestyä :
Tuo tarvittavat moduulit: satunnainen ja merkkijono.
Määritä funktio nimeltä generoi_satunnainen_merkkijono, joka ottaa parametrin pituuden määrittääkseen luotavan satunnaisen merkkijonon pituuden.
Käytä string.ascii_letters saadaksesi kaikki ASCII-kirjaimet pieninä ja isoina kirjaimina.
Käytä random.choicea valitaksesi satunnaisesti merkkejä kirjaimista annetulle merkkijonolle ja yhdistä ne .join(-komennolla).
Palauta luotu merkkijono.
Käytä funktiota syöttämällä halutun pituinen satunnainen merkkijono.
Python 3
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)> |
>
>Lähtö
mFPltLThhj>
Aika monimutkaisuus: O(n), missä n on halutun satunnaisen merkkijonon pituus.
Apuavaruus: O(n), missä n on halutun satunnaisen merkkijonon pituus.