Pitone | Genera una stringa casuale di determinata lunghezza

Il problema della generazione di numeri casuali è abbastanza comune, ma a volte abbiamo applicazioni che richiedono di migliorarlo e di fornire alcune funzionalità per generare una stringa casuale di cifre e alfabeti per applicazioni come le password. Parliamo di alcuni modi in cui ciò può essere eseguito in Python. Qui utilizzeremo la generazione di stringhe casuali con lettere maiuscole e cifre

Metodo 1: genera una stringa casuale utilizzando random.choices()

Questo scelte.casuali() La funzione di un modulo casuale può aiutarci a raggiungere questo compito e fornisce un'alternativa di una riga a un intero ciclo che potrebbe essere richiesto per questo particolare compito. Funziona con Python> v3.6.

  • String.ascii_uppercase – Restituisce la stringa in maiuscolo.
  • String.cifre – Restituisce la stringa con le cifre.
  • Punteggiatura.stringa – Restituisce la stringa con la punteggiatura
  • String.ascii_lettere – Restituisce la stringa contenente vari casi.
  • String.ascii_lowercase – Restituisce la stringa in minuscolo.

Esempio 1: generazione casuale di stringhe con lettere maiuscole

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))>

Produzione :

The generated random string : 0D5YE91 

Esempio 2: generare un casuale stringa di una determinata lunghezza in minuscolo

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))>

Produzione:

The generated random string : ipxktny 

Esempio 3: generare una stringa casuale di una determinata lunghezza in maiuscolo e minuscolo

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))>

Produzione:

The generated random string : ALpxvmI 

Metodo 2: genera una stringa casuale utilizzando secrets.choice()

Noi possiamo Genera stringhe e password casuali in Python utilizzando segreti.scelta(). Per numeri casuali crittograficamente più sicuri, questa funzione del modulo segreto può essere utilizzata poiché il suo algoritmo interno è strutturato in modo da generare numeri casuali meno prevedibili.

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))>

Produzione :

The generated random string : T7HPKVR 

Approccio :

Importa i moduli necessari: random e string.
Definire una funzione denominata generate_random_string che accetta la lunghezza di un parametro per determinare la lunghezza della stringa casuale da generare.
Utilizzare string.ascii_letters per ottenere tutte le lettere ASCII in minuscolo e maiuscolo.
Usa random.choice per scegliere casualmente i caratteri dalle lettere per la lunghezza data della stringa e concatenarli usando .join().
Restituisce la stringa generata.
Utilizzare la funzione passando la lunghezza desiderata per generare una stringa casuale.

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)>

Produzione

mFPltLThhj 

Complessità temporale: O(n), dove n è la lunghezza della stringa casuale desiderata.

Spazio ausiliario: O(n), dove n è la lunghezza della stringa casuale desiderata.