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.