Πώς να χρησιμοποιήσετε το τυχαίο module της Python
Το module Python random σας προσφέρει μια ποικιλία λειτουργιών για τη δημιουργία τυχαίων αριθμών σε διάφορες μορφές, από ακέραιους αριθμούς έως αριθμούς κινητής υποδιαστολής και επιλογή στοιχείων από λίστες.
Τι είναι το τυχαίο module της Python και για τι μπορεί να χρησιμοποιηθεί;
Το module random της Python random είναι μια ενσωματωμένη βιβλιοθήκη που σας επιτρέπει να δημιουργείτε τυχαίους αριθμούς και να εκτελείτε λειτουργίες βασισμένες στην τυχαιότητα στα προγράμματά σας. Περιλαμβάνει διάφορες συναρτήσεις για τη δημιουργία ψευδοτυχαίων αριθμών που μπορούν να χρησιμοποιηθούν σε πολλές εφαρμογές, από προσομοιώσεις έως ανάπτυξη παιχνιδιών και κρυπτογραφικές εργασίες.
Ένα σημαντικό χαρακτηριστικό της τυχαίας ενότητας είναι η ικανότητά της να παρέχει αναπαραγώγιμα αποτελέσματα. Καθορίζοντας μια αρχική τιμή ή σπόρο, η διαδικασία της τυχαίας δημιουργίας μπορεί να αναπαραχθεί. Αυτό είναι ευεργετικό για δοκιμές, πειράματα και προσομοιώσεις που απαιτούν συνεπή τυχαία δεδομένα.
Ποιες είναι οι λειτουργίες του τυχαίου μοντέλου;
Το module random της Python περιέχει διάφορες μεθόδους για τη δημιουργία και επεξεργασία τυχαίων αριθμών. Ο παρακάτω πίνακας παρέχει μια επισκόπηση των συναρτήσεων και των ιδιοτήτων τους:
| Όνομα λειτουργίας | Επεξήγηση |
|---|---|
seed(a=None, version=2)
|
Ορίζει την αρχική τιμή (seed) για τον γεννήτρια τυχαίων αριθμών |
getstate()
|
Επιστρέφει την τρέχουσα κατάσταση του γεννητριού τυχαίων αριθμών ως αντικείμενο |
setstate(state)
|
Επαναφέρει την κατάσταση του γεννητριού τυχαίων αριθμών χρησιμοποιώντας ένα αντικείμενο κατάστασης |
getrandbits(k)
|
Επιστρέφει έναν ακέραιο αριθμό με k bits |
randrange(start, stop, step)
|
Δημιουργεί έναν τυχαίο ακέραιο αριθμό από το καθορισμένο εύρος |
randint(a, b)
|
Επιστρέφει έναν τυχαίο ακέραιο αριθμό στο καθορισμένο εύρος |
choice(seq)
|
Επιστρέφει ένα τυχαίο στοιχείο από τη δεδομένη ακολουθία |
choices(population, weights=None, *, cum_weights=None, k=1)
|
Δημιουργεί μια λίστα με k τυχαία επιλεγμένα στοιχεία από τον πληθυσμό. Προαιρετικά, μπορείτε να καθορίσετε τις πιθανότητες. |
sample(k, population)
|
Δημιουργεί μια λίστα με k τυχαία επιλεγμένα στοιχεία από τον πληθυσμό, χωρίς διπλότυπα |
shuffle(x)
|
Ανακατεύει τα στοιχεία μιας λίστας σε τυχαία σειρά. |
random()
|
Επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής μεταξύ 0 και 1 |
uniform(a, b)
|
Επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής στο καθορισμένο εύρος, συμπεριλαμβανομένων των οριακών τιμών |
triangular(low, high, mode)
|
Δημιουργεί έναν τυχαίο αριθμό κινητής υποδιαστολής στο εύρος της τριγωνικής κατανομής |
betavariate(alpha, beta)
|
Επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής από μια κατανομή βήτα. |
expovariate(lambd)
|
Επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής από μια εκθετική κατανομή. |
gammavariate(alpha, beta)
|
Δημιουργεί έναν τυχαίο αριθμό κινητής υποδιαστολής από μια κατανομή γάμμα. |
gauss(mu, sigma)
|
Επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής από μια κατανομή Gauss. |
lognormvariate(mu, sigma)
|
Δημιουργεί έναν τυχαίο αριθμό κινητής υποδιαστολής από μια λογαριθμική κανονική κατανομή. |
normalvariate(mu, sigma)
|
Επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής από μια κανονική κατανομή. |
vonmisesvariate(mu, kappa)
|
Επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής με κατανομή von Mises ή κυκλική κανονική κατανομή. |
paretovariate(alpha)
|
Επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής με κατανομή Pareto. |
weibullvariate(alpha, beta)
|
Επιστρέφει έναν τυχαίο αριθμό κινητής υποδιαστολής με κατανομή Weibull. |
Πώς να επιλέξετε στοιχεία τυχαία από μια λίστα
Αν θέλετε να επιλέξετε πολλά τυχαία στοιχεία από μια λίστα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση choices(seq, k=n) από το module random της Python, όπου n είναι ο αριθμός των επιθυμητών τυχαίων στοιχείων.
import random
# A list of elements
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Randomly selecting an element from the list
random_elements = random.choices(my_list, k=3)
print("Randomly selected elements:", random_elements)pythonΣε αυτή την περίπτωση, χρησιμοποιούμε τη συνάρτηση choices() για να επιλέξουμε τρία τυχαία στοιχεία από my_list. Τα αποτελέσματα επιστρέφονται ως λίστα τριών τυχαίων στοιχείων.
Πώς να ανακατέψετε μια λίστα
Η συνάρτηση shuffle() ταξινομεί τα στοιχεία της λίστας Python σε τυχαία σειρά.
import random
# A list of elements
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Shuffle the elements in the list
random.shuffle(my_list)
print("Shuffled list:", my_list) # Example Output: Shuffled list: ['Strawberry', 'Banana', 'Apple', 'Cherry', 'Orange']pythonΠρέπει να έχετε κατά νου ότι shuffle() αλλάζει την ίδια τη λίστα και δεν επιστρέφει μια νέα. Μετά τη χρήση shuffle(), η αρχική λίστα θα είναι σε τυχαία σειρά.
Πώς να ορίσετε μια αρχική τιμή
Όταν χρησιμοποιείτε random.seed() από το module random της Python για να ορίσετε μια συγκεκριμένη τιμή seed, αυτό αρχικοποιεί τον γεννήτρια τυχαίων αριθμών για να παράγει τυχαίους αριθμούς χρησιμοποιώντας αυτό το seed. Επομένως, αν ορίσετε ξανά την ίδια τιμή seed αργότερα, θα προκύψει η ίδια ακολουθία τυχαίων αριθμών στην εφαρμογή σας.
import random
# Setting the seed value to 42
random.seed(42)
# Generating random numbers
print(random.random()) # Example output: 0.6394267984578837
print(random.random()) # Example output: 0.025010755222666936
# Resetting the seed value to 42
random.seed(42)
# Generating random numbers again
print(random.random()) # Example output: 0.6394267984578837 (identical to the previous value)
print(random.random()) # Example output: 0.025010755222666936 (identical to the previous value)pythonΑφού οριστεί η τιμή του σπόρου, δημιουργεί και εξάγει τυχαίους αριθμούς. Η επαναφορά του σπόρου στην ίδια τιμή έχει ως αποτέλεσμα την εκ νέου παραγωγή της ίδιας ακολουθίας τυχαίων αριθμών. Σε αυτό το παράδειγμα, η τιμή του σπόρου είναι 42. Εφόσον ο σπόρος παραμείνει σταθερός, οι τυχαίοι αριθμοί μπορούν να αναπαραχθούν με συνέπεια. 2788414172193c7dda5bc74734d880d9