Jak wygenerować liczby losowe w Pythonie (moduł losowy)
Dowiedz się, jak generować liczby losowe w Pythonie. Porównaj randrange, randint i jednolite generowanie pływaka z kontrolą wysiewu.
Przegląd
Generowanie liczb losowych jest kluczowym wymogiem w programowaniu gier, wybieraniu losowych elementów ze zbiorów danych, pisaniu aplikacji kryptograficznych i przeprowadzaniu symulacji statystycznych. Python udostępnia dedykowaną wbudowaną bibliotekę o nazwie „random”, która obsługuje generowanie liczb pseudolosowych.
Jeśli potrzebujesz losowej liczby całkowitej z określonego zakresu, najpopularniejszym narzędziem jest funkcja `random.randint(a, b)`, która zwraca losową liczbę całkowitą, gdy oba punkty końcowe obejmują. Alternatywnie funkcja „random.random()” generuje liczbę zmiennoprzecinkową z zakresu od 0,0 (włącznie) do 1,0 (wyłącznie), którą można skalować matematycznie w celu dopasowania do niestandardowych granic.
Aby symulacje i testy były powtarzalne, można skorzystać z funkcji `random.seed()`. Podanie początkowej liczby całkowitej gwarantuje, że sekwencja wygenerowanych liczb będzie identyczna przy każdym uruchomieniu kodu. W przypadku operacji kryptograficznych wymagających wysokiego bezpieczeństwa (takich jak generowanie tokenów) należy unikać standardowych generatorów pseudolosowych na rzecz modułu „sekrety”.
Dane wyjściowe kodu i wykonania
Ten skrypt demonstruje generowanie losowych liczb całkowitych, zmiennoprzecinkowych i wybieranie elementów za pomocą modułu losowego.
import random
# Setting a seed for deterministic output in this example
random.seed(42)
# 1. Generate a random integer between 1 and 10 (inclusive)
random_int = random.randint(1, 10)
print("Random Integer (1-10):", random_int)
# 2. Generate a random float between 0.0 and 1.0
random_float = random.random()
print("Random Float (0-1):", round(random_float, 4))
# 3. Select a random element from a list
fruits = ["apple", "banana", "cherry"]
random_choice = random.choice(fruits)
print("Random Choice:", random_choice)Random Integer (1-10): 2
Random Float (0-1): 0.025
Random Choice: bananaWdrażanie krok po kroku
- Zaimportuj losowy moduł na początku skryptu.
- Użyj random.randint(min, max), aby wygenerować losową liczbę całkowitą, w której oba punkty końcowe są włącznie.
- Użyj funkcji random.random(), aby wygenerować losową liczbę zmiennoprzecinkową z zakresu od 0,0 do 1,0.
Często zadawane pytania
Jak wygenerować losowy float w niestandardowym zakresie?
Użyj random.uniform(a, b), aby uzyskać losową liczbę zmiennoprzecinkową pomiędzy a i b.
Czy moduł losowy jest bezpieczny do użytku kryptograficznego?
Nie, moduł losowy jest pseudolosowy i nie powinien być używany do celów wrażliwych na bezpieczeństwo. Zamiast tego użyj modułu sekretów.
Powiązane tematy
Dowiedz się, jak znaleźć długość listy w Pythonie za pomocą funkcji len(). Zrozumienie złożoności czasowej O(1) i liczby kontroli.
Jak używać wyliczenia w PythonieDowiedz się, jak używać funkcji enumerate() w Pythonie. Uzyskaj zarówno indeks, jak i wartość, przeglądając listy z czystymi przykładami.
Polecane zasoby Pythona
Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.
Pętle Pythona
Dowiedz się, jak używać pętli Pythona do iteracji danych. Opanuj pętle for, pętle while, przerywaj, kontynuuj i pętluj najlepsze praktyki dzięki interaktywnym przykładom.
Ściągawka dotycząca metod ciągów w Pythonie
Kompletny przewodnik dotyczący manipulacji ciągami znaków w języku Python. Opanuj formatowanie, wyszukiwanie, dzielenie, zastępowanie i sprawdzanie właściwości ciągów.
Python kontra JavaScript: który język programowania jest najlepszy?
Kompleksowe porównanie Pythona i JavaScript. Poznaj różnice w składni, wydajność, przypadki użycia (backend vs frontend) i przykłady kodowania.