Python

w tym artykule wyjaśnię użycie modułu random w Pythonie. Jak sama nazwa wskazuje pozwala na generowanie liczb losowych.

Ten moduł losowy zawiera generatory liczb pseudolosowych dla różnych rozkładów.

funkcja random() jest jedną z nich, generuje liczbę z zakresu od 0 do 1.
ale istnieją inne funkcje, takie jakrandint(min,max) Irandrange(max).

kurs pokrewny: Kompletny kurs programowania w języku Python & ćwiczenia

wprowadzenie

Zacznijmy od absolutnego podstawowego generowania liczb losowych. Funkcja random.random().
funkcjarandom() zwraca następny losowy float z zakresu .

aby użyć funkcjirandom(), wywołaj metodęrandom(), aby wygenerować rzeczywistą (zmiennoprzecinkową) liczbę z zakresu od 0 do 1.

import random
x = random.random()
print(x)

To wyświetla dowolną liczbę z zakresu od 0 do 1. W przypadku większości aplikacji będziesz potrzebował losowych liczb całkowitych zamiast liczb od 0 do 1.

generowanie losowych liczb

funkcjarandint() generuje dla Ciebie losowe liczby całkowite. Jeśli wywołasz funkcję, zwraca ona losową liczbę całkowitą N taką, że a <= N <= b.

randint() metoda do generowania liczby całkowitej (integer). Możesz użyć randint(0,50), aby wygenerować losową liczbę z zakresu od 0 do 50.

import random
x = random.randint(0,50)
print(x)

To generate random integers between 0 and 9, you can use the function randrange(min,max).

from random import randrange
print(randrange(10))

You can use randint(min,max) instead:

import random
print(random.randint(0,9))

Change the parameters of randint() to generate a number between 1 and 10.

import random
x = random.randint(1,10)
print(x)

powiązany kurs: kompletny kurs programowania w języku Python & ćwiczenia

lista liczb losowych

Jeśli chcesz wygenerować listę liczb losowych, możesz to zrobić za pomocą pętli for.
Aby wygenerować listę 100 losowych liczb:

import random
mylist =
for i in range(0,100):
x = random.randint(1,10)
mylist.append(x)
print(mylist)

ale można to zrobić w znacznie bardziej zwarty sposób w Pythonie, z jednym linerem.
funkcja do użycia to sample(), która tasuje listę wejściową, w poniższym przykładzie tasuje utworzoną listę range(1,101).

to znaczyrange(1,101) tworzy listę liczb od 1 do 100.

>>> list(range(1,101))

następnie funkcjasample() tasuje tę listę w losowej kolejności.

>>> import random
>>> x = random.sample(range(1,101), 100)

wybierając losowe pozycje z listy

Możesz użyć metodysample(), aby umieścić listę w przypadkowa kolejność. Ale można również użyć go uzyskać losowe elementy z listy.

Jeśli chcesz 3 losowe pozycje z listy, Dodaj3 jako drugi parametr metodysample(list).

import random
mylist =
x = random.sample(mylist,3)
print(x)

Jeśli chcesz wybrać losowy element, możesz użyć metodychoice(list). Ale to zwraca tylko jeden element.

>>> import random
>>> x = list(range(1,101))
>>> random.choice(x)
8
>>> random.choice(x)
11
>>>

możesz użyć metodyshuffle(list) aby przetasować kolejność listy, a następnie użyć pierwszego indeksu jako liczby losowej.

>>> import random
>>> x = list(range(1,101))
>>> random.shuffle(x)

zalecanym sposobem jest użycie metodychoice(), ale wszystkie te metody działają.

Jeśli jesteś początkującym Pythonem, to Gorąco polecam tę książkę.

Pobierz ćwiczenia

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *