Pythona | Wygeneruj losowy ciąg o podanej długości

Problem generowania liczb losowych jest dość powszechny, ale czasami mamy aplikacje, które wymagają od nas ulepszenia tego i zapewnienia funkcjonalności polegającej na generowaniu losowego ciągu cyfr i alfabetów dla aplikacji takich jak hasła. Omówmy pewne sposoby, w jakie można to wykonać w Pythonie. Tutaj użyjemy losowego generowania ciągów z wielkimi literami i cyframi

Metoda 1: Wygeneruj losowy ciąg znaków za pomocą funkcji random.choices()

Ten losowe.wybory() Funkcja losowego modułu może nam pomóc w wykonaniu tego zadania i zapewnia jednowierszową alternatywę dla całej pętli, która może być wymagana w przypadku tego konkretnego zadania. Działa z Pythonem> v3.6.

  • String.ascii_uppercase – Zwraca ciąg znaków pisany wielkimi literami.
  • Ciąg.cyfry – Zwraca ciąg znaków z cyframi.
  • Ciąg.interpunkcja – Zwraca ciąg znaków ze znakami interpunkcyjnymi
  • String.ascii_lettery – Zwraca ciąg zawierający różne przypadki.
  • String.ascii_lowercase – Zwraca ciąg znaków pisany małymi literami.

Przykład 1: Losowe generowanie ciągu znaków z dużymi literami

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

Wyjście :

The generated random string : 0D5YE91 

Przykład 2: Wygeneruj a losowy ciąg o określonej długości pisany małymi literami

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

Wyjście:

The generated random string : ipxktny 

Przykład 3: Wygeneruj losowy ciąg o określonej długości, używając wielkich i małych liter

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

Wyjście:

The generated random string : ALpxvmI 

Metoda 2: Wygeneruj losowy ciąg znaków za pomocą funkcji secrets.choice()

Możemy Generuj losowe ciągi i hasła w Pythonie za pomocą sekrety.wybór(). W przypadku kryptograficznie bezpieczniejszych liczb losowych można zastosować tę funkcję tajnego modułu, ponieważ jego wewnętrzny algorytm jest sformułowany w taki sposób, aby generować mniej przewidywalne liczby losowe.

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

Wyjście :

The generated random string : T7HPKVR 

Zbliżać się :

Zaimportuj niezbędne moduły: losowy i ciąg.
Zdefiniuj funkcję o nazwie generate_random_string, która pobiera długość parametru w celu określenia długości losowego ciągu do wygenerowania.
Użyj string.ascii_letters, aby uzyskać wszystkie małe i wielkie litery ASCII.
Użyj random.choice, aby losowo wybrać znaki z liter dla danej długości łańcucha i połączyć je za pomocą .join().
Zwróć wygenerowany ciąg.
Użyj tej funkcji, przekazując żądaną długość, aby wygenerować losowy ciąg znaków.

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

Wyjście

mFPltLThhj 

Złożoność czasowa: O(n), gdzie n jest długością żądanego losowego ciągu.

Przestrzeń pomocnicza: O(n), gdzie n jest długością żądanego losowego ciągu.