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.